【问题标题】:Bind event to multiple jquery elements simultaneously同时将事件绑定到多个 jquery 元素
【发布时间】:2025-11-28 10:05:01
【问题描述】:

我需要将相同的事件(例如click)绑定到 n jquery 元素。我知道我可以使用选择器轻松实现此结果:

$("#first, #second, .third").on("click", function(){});

但是如果我想使用 jquery 元素列表而不是选择器呢?

这是我现在使用的解决方案,假设您通过函数获得 $first$second

var $first = $("#first");
var $second = $("#second");

$([$first[0], $second[0]]).on("click", function(){
    alert("click " + this.innerText)
});

在这里找到玩的小提琴:https://jsfiddle.net/0z2r55d6/

如您所见,我需要为每个 jquery 元素提取 HTML 元素并将其推送到数组中。我觉得这很丑陋和不方便..有没有更好的方法来达到同样的结果?我在 jquery 的文档中没有找到任何内容。

谢谢

【问题讨论】:

  • $first.add($second).add($third).on('click', handler); 或者改用普通类
  • @A.Wolff 这就像一个魅力,谢谢。请回答您的解决方案,以便我接受它:)
  • 对不起,我很忙,没有时间做出相关的回答。你应该接受 Apul 的回答 :)

标签: javascript jquery events bind


【解决方案1】:

使用jQueryadd()方法:

$first.add($second).add($third).on('click', handler);

【讨论】:

    最近更新 更多