javascript - 同时将事件绑定(bind)到多个 jquery 元素

标签 javascript jquery events bind

我需要将相同的事件(例如 click)绑定(bind)到 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 的文档中没有找到任何内容。

谢谢

最佳答案

使用 jQuery add()方法:

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

关于javascript - 同时将事件绑定(bind)到多个 jquery 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30256634/

相关文章:

javascript - 使用 ko.mapping.fromJS 保留原始值

javascript - Shadowbox 3.0.3 在 Shadowboxed 窗口关闭时重新加载父级

javascript - 原型(prototype)制作 "arguments"

javascript - 从字符串中获取变量

jquery - 循环 JSON 中的字符串

c# - 以编程方式触发事件?

javascript - 如何使用 jQuery 获取用户选择的文件类型?

javascript - 声明变量而不返回值。

c# - 我需要退订吗?

java - Spring MVC 中 Web 请求生命周期的开始和结束