jQuery将侦听器应用于元素集

jquery apply listener to set of elements

本文关键字:元素 应用于 侦听器 jQuery      更新时间:2023-09-26

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

假设我们有以下变量:

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);
可以使用

将元素添加到当前集合的jQuery.add

dom1.add(dom2).click(function(){
    // your code goes here
});

否则,您可以使用用逗号分隔的选择器。