同时将事件绑定到多个 jquery 元素
Bind event to multiple jquery elements simultaneously
我需要将相同的事件(例如 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)
});
在这里找到 fiddle 一起玩:https://jsfiddle.net/0z2r55d6/
如您所见,我需要为每个 jquery 元素提取 HTML 元素并将其推入数组。我觉得这很丑陋而且不方便。有没有更好的方法来达到同样的结果?我在 jquery 的文档中没有找到任何内容。
谢谢
使用jQueryadd()方法:
$first.add($second).add($third).on('click', handler);
我需要将相同的事件(例如 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)
});
在这里找到 fiddle 一起玩:https://jsfiddle.net/0z2r55d6/
如您所见,我需要为每个 jquery 元素提取 HTML 元素并将其推入数组。我觉得这很丑陋而且不方便。有没有更好的方法来达到同样的结果?我在 jquery 的文档中没有找到任何内容。
谢谢
使用jQueryadd()方法:
$first.add($second).add($third).on('click', handler);