Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 方法上jQuery的多个选择器?_Javascript_Jquery_Jquery Selectors - Fatal编程技术网

Javascript 方法上jQuery的多个选择器?

Javascript 方法上jQuery的多个选择器?,javascript,jquery,jquery-selectors,Javascript,Jquery,Jquery Selectors,是否可以在jQuery on方法中传递多个子选择器 $("#tablename").on("click", "tr", function() { } 如果用户单击tr或复选框,则需要激发click。比如: $("#tablename").on("click", "tr input[type='checkbox']", function() { } 提前感谢…您可以使用指定多个选择器 $("#tablename").on("click", "tr, input[type='checkbox']

是否可以在jQuery on方法中传递多个子选择器

$("#tablename").on("click", "tr", function() {
}
如果用户单击tr或复选框,则需要激发click。比如:

$("#tablename").on("click", "tr input[type='checkbox']", function() {
}
提前感谢…

您可以使用指定多个选择器

$("#tablename").on("click", "tr, input[type='checkbox']", function() {
});
   $("#tablename").on("click", "tr, input[type='checkbox']", function() {
                    //use "," ---^^^---- here for multiple 
    });

但是在一个表中,所有的元素都可能在一个
tr
中,所以有什么区别呢您可以使用逗号将它们组合起来,右括号也会丢失。如果有空格而不是逗号,则将其视为


您可以对多个选择器使用逗号

$("#tablename").on("click", "tr, input[type='checkbox']", function() {
});
   $("#tablename").on("click", "tr, input[type='checkbox']", function() {
                    //use "," ---^^^---- here for multiple 
    });

参考

是的,您可以,您的代码工作正常。但问题是,如果复选框位于“tr”内,则事件将触发两次。为了防止它,您必须强制事件委派。您将事件作为参数接收,并在代码中使用e.preventDefault()。这将确保单击事件不会从复选框委托给父“tr”

$("#tablename").on("click", "tr, input[type='checkbox']", function(e) {
    //e.preventDefault(); // This is wrong, plz check
    e.stopPropagation(); // Hope this will help you one day
});

是的,它会工作得非常好。为什么表中的复选框除了在TR中之外其他任何地方都可以?谢谢你的帮助,我错过了选择器之间的逗号。谢谢你的帮助。