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 中的许多项目。
我的代码是;
$('#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 中的许多项目。