如何为多个jQuery对象监听onChange事件?
如何为多个jQuery对象绑定change事件?
嘿,这个问题我之前也碰到过!你原来的jQuery(el1, el2)写法行不通,因为jQuery构造函数的第二个参数是用来指定查找上下文的,不是用来合并多个jQuery对象的。给你两种实用的解决方案:
方案一:使用.add()合并jQuery对象
.add()方法可以把另一个jQuery对象、DOM元素或者选择器字符串合并到当前的jQuery集合中,这样就能统一为所有元素绑定事件了:
var el1 = jQuery('input[type="checkbox"][name="x"]'); var el2 = jQuery('input[type="checkbox"][name="y"]'); // 合并两个jQuery对象,再绑定change事件 el1.add(el2).change(function(e) { // 这里写你的事件处理逻辑 console.log('触发change事件的元素:', e.target); });
方案二:复用事件处理函数
如果之后可能需要单独给某个元素解绑事件,或者更清晰地管理事件绑定,可以先定义好事件处理函数,再分别绑定到两个对象上:
var el1 = jQuery('input[type="checkbox"][name="x"]'); var el2 = jQuery('input[type="checkbox"][name="y"]'); // 单独定义事件处理函数 var handleCheckboxChange = function(e) { // 这里写你的事件处理逻辑 console.log('触发change事件的元素:', e.target); }; // 分别给两个jQuery对象绑定事件 el1.change(handleCheckboxChange); el2.change(handleCheckboxChange);
这两种方法都能满足你“直接使用已有的jQuery对象,而非重新写字符串选择器”的需求,根据你的实际场景选就行~
内容的提问来源于stack exchange,提问作者ESP32
相关产品推荐
相关产品推荐

