jquery将侦听器应用于元素集

Ner*_*rta 1 javascript jquery

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

假设我们有这些变量:

var dom1 = $('.selector1');
var dom2 = $('.selector2');
Run Code Online (Sandbox Code Playgroud)

现在我想申请一个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
    });
}
Run Code Online (Sandbox Code Playgroud)

我知道这不是一个有效的解决方案,但我正在搜索这样的东西:

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

先感谢您.

Ror*_*san 5

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

$('.selector1, .selector2').click(fn);
Run Code Online (Sandbox Code Playgroud)

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

dom1.add(dom2).click(fn);
Run Code Online (Sandbox Code Playgroud)