jQuery相同的点击事件多个元素

有什么办法可以为页面上的不同元素执行相同的代码吗?

$('.class1').click(function() { some_function(); }); $('.class2').click(function() { some_function(); }); 

而是要做一些事情:

 $('.class1').$('.class2').click(function() { some_function(); }); 

谢谢

 $('.class1, .class2').on('click', some_function); 

要么:

 $('.class1').add('.class2').on('click', some_function); 

我通常使用on而不是click 。 它允许我添加更多的事件监听器到一个特定的function。

 $(document).on("click touchend", ".class1, .class2, .class3", function () { //do stuff }); 

希望它有帮助!

 $('.class1, .class2').click(some_function); 

确保你把一个空间像$('。class1,space here.class2')否则它不会工作

只需使用$('.myclass1, .myclass2, .myclass3')作为多个select器。 另外,你不需要lambda函数来绑定一个现有的函数到click事件。

另一种方法,假设你的元素被存储为variables(如果你在函数体中多次访问它们,这通常是一个好主意):

 function disableMinHeight() { var $html = $("html"); var $body = $("body"); var $slideout = $("#slideout"); $html.add($body).add($slideout).css("min-height", 0); }; 

利用jQuery链接,并允许您使用引用。

我们也可以像下面的代码一样,我在这里使用了模糊事件。

 $("#proprice, #proqty").blur(function(){ var price=$("#proprice").val(); var qty=$("#proqty").val(); if(price != '' || qty != '') { $("#totalprice").val(qty*price); } }); 

我有一个对象包含许多input字段的链接,这需要由相同的事件处理。 所以我只是使用find()来获取所有需要事件的内部对象

 var form = $('<form></form>'); // ... apending several input fields form.find('input').on('change', onInputChange); 

万一你的对象是一个级别的链接children(),而不是find()方法可以使用。

除了上面的例子和答案之外,你还可以使用它们的类来为两个不同的元素进行“查找”。 例如:

 <div class="parent"> <div class="child1">Hello</div> <div class="child2">World</div> </div> <script> var x = jQuery('.parent').find('.child1, .child2').text(); console.log(x); </script> 

这应该输出“HelloWorld”。

添加逗号分隔的类列表,如下所示:

 jQuery(document).ready(function($) { $('.class, .id').click(function() { // Your code } });