javascript - jquery 将监听器应用于一组元素

标签 javascript jquery

<分区>

我想弄清楚是否有解决这个简单但复杂的任务的方法。

假设我们有这个变量:

var dom1 = $('.selector1');
var dom2 = $('.selector2');

现在我想为 dom1 和 dom2 应用一个监听器。有没有比一个一个地应用函数更直接、更可靠的不同解决方案?

dom1.click(function(){
    //a lot of stuff
}
dom2.click(function(){
    //the same lot of stuff
}
//or
$([dom1,dom2]).each(function(){
    this.click(function(){
        //the same lot of stuff
    });
}

我知道这不是一个可行的解决方案,但我正在搜索类似这样的内容:

//NOT WORKING, NON-SENSE, I KNOW
$([dom1,dom2]).click(function(){
    //the same lot of stuff
}

提前致谢。

最佳答案

您可以使用逗号分隔的选择器选择两个集合元素:

$('.selector1, .selector2').click(fn);

或者,您可以使用 add() 将两个包含 jQuery 对象的变量连接在一起:

dom1.add(dom2).click(fn);

关于javascript - jquery 将监听器应用于一组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27405420/

相关文章:

javascript - 尝试 AWS-Amplify -> "npm start"不起作用

javascript - Bootstrap 中的 Highcharts 导航按钮和全屏按钮

jquery - 激活和停用超链接

javascript - Jquery Append 删除转义引号

jquery - 如何根据屏幕尺寸在页面上自动调整 4 个不同宽度的图像

javascript - Gupshup Chat Web Widget 重定向问题

javascript - 编写一个接受正整数 N 并返回 N 的函数

php - JavaScript 到 PHP

jquery - 升级 turbolinks 导致 css 停止加载

javascript - "Required field"验证消息与国家选择字段重叠