jQuery针对多个元素的相同点击事件jQuery针对多个元素的相同点击事件
有没有办法为页⾯上的不同元素执⾏相同的代码?
1.
$('.class1').click(function() {
2.
some_function();
3.
});
4.
5.
$('.class2').click(function() {
6.
some_function();
7.
});
⽽是做⼀些像:
1.
$('.class1').$('.class2').click(function() {
2.
some_function();
3.
});
谢谢
#1楼
$('.class1, .class2').on('click', some_function);
要么:
$('.class1').add('.class2').on('click', some_function);
这也适⽤于现有对象:
1.
const $class1 = $('.class1');
2.
const $class2 = $('.class2');
3.
$class1.add($class2).on('click', some_function);
#2楼
只需将$('.myclass1, .myclass2, .myclass3')⽤于多个选择器。此外,您不需要lambda函数将现有函数绑定到click事件。#3楼
我通常使⽤on,⽽不是click。它允许我向特定函数添加更多事件侦听器。
1.
$(document).on("click touchend", ".class1, .class2, .class3", function () {
2.
//do stuff
3.
});
希望能帮助到你!
#4楼
另⼀种选择,假设您的元素存储为变量(如果您在函数体中多次访问它们,通常是个好主意):
1.
function disableMinHeight() {
2.
var $html = $("html");
3.
var $body = $("body");
4.
var $slideout = $("#slideout");
5.
6.
$html.add($body).add($slideout).css("min-height", 0);
7.
};
利⽤链接并允许您使⽤引⽤。
#5楼
我有⼀个包含许多输⼊字段的对象的链接,这需要由同⼀事件处理。所以我只需使⽤find()来获取需要拥有事件的所有内部对象1.
var form = $('<form></form>');
2.
// ... apending several input fields
3.
4.
form.find('input').on('change', onInputChange);
如果你的对象是链接的⼀级,可以使⽤children()⽽不是find()⽅法。
#6楼
我们也可以编写如下代码,我在这⾥使⽤了模糊事件。
1.
$("#proprice, #proqty").blur(function(){
2.
var price=$("#proprice").val();
3.
var qty=$("#proqty").val();
4.
if(price != '' || qty != '')
5.
{
6.
$("#totalprice").val(qty*price);blur事件
7.
}
8.
});
#7楼
除了上⾯的优秀⽰例和答案,您还可以使⽤他们的类对两个不同的元素进⾏“查”。例如:
1.
<div class="parent">
2.
<div class="child1">Hello</div>
3.
<div class="child2">World</div>
4.
</div>
5.
6.
<script>
7.
var x = jQuery('.parent').find('.child1, .child2').text();
8.
console.log(x);
9.
</script>
这应输出“HelloWorld”。
#8楼
添加逗号分隔的类列表,如下所⽰:
1.
jQuery(document).ready(function($) {
2.
3.
$('.class, .id').click(function() {
4.
5.
// Your code
6.
7.
}
8.
9.
});
#9楼
如果您有或想要将元素保存为变量(jQuery对象),您还可以循环它们:1.
var $class1 = $('.class1');
2.
var $class2 = $('.class2');
3.
4.
$([$class1,$class2]).each(function() {
5.
$(this).on('click', function(e) {
6.
some_function();
7.
});
8.
});
#10楼
$('.class1, .class2').click(some_function);
确保你放置⼀个像$('。class1,space here.class2')的空格,否则它将⽆效

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。