Jquery 或运营商问题

Jquery or operator issue

我的代码是;

$('#selector1') || $('#selector2').on('click',function(){ //Your code here });

但是||不工作,只是得到 $('#selector2'),而不是 $('#selector1').

这是正确的行为。

“.on”方法允许您在 DOM 中的对象上添加侦听器。但是,就像任何方法一样,它需要在对象本身上调用,就像您在 selector2.

中所做的那样

现在我们知道了,您真正想要做的是在 both selector 上放置一个监听器,而不是一个 or其他.

一个干净的方法是将您的函数放在 on 方法之外,然后简单地为您想要 运行 单击此函数的所有 select 或调用该函数. 这样会不那么突兀,更值得推荐!

这看起来像这样:

const myFunction = function(){
    // your code here
}

$('#selector1, #selector2').on('click',myFunction);

编辑:感谢 RoryMcCrossan,我更新了答案,因为他提醒我 jQuery 有一个干净的方法来 select div 中的许多项目。