Jquery 将不同的事件和不同的选择器连接到同一功能
假设我有如下代码:Jquery 将不同的事件和不同的选择器连接到同一功能,jquery,event-delegation,Jquery,Event Delegation,假设我有如下代码: $('#mywrapper') .on('click', 'button', myFunction) .on('change', 'input', myFunction) ; 是否有更有效的方法将事件和选择器连接到同一功能 没有,实际上没有。这里唯一的变化是,您可以将一个对象传递给.on(),该对象将一次性定义所有事件: $("div.test").on({ click: myFunc, mouseenter: myFunc }); 您可以使用“普
$('#mywrapper')
.on('click', 'button', myFunction)
.on('change', 'input', myFunction)
;
是否有更有效的方法将事件和选择器连接到同一功能 没有,实际上没有。这里唯一的变化是,您可以将一个对象传递给.on(),该对象将一次性定义所有事件:
$("div.test").on({
click: myFunc,
mouseenter: myFunc
});
您可以使用“普通对象”同时传递这两个对象:
$('#mywrapper').on({
click: myFunc,
mouseenter: myFunc
});
(示例朝向底部)该死的。。。您的代码可以缩短多少?似乎非常有效。原因是我希望这两个事件始终链接在一起,因为它们本质上表示相同的操作。这只将一个选择器连接到一系列事件。我希望一次回调可以有多个选择器和多个事件理论上,您可以在一个绑定中移动多个事件和多个选择器:
$(“#某物”)。在('click change','button,input',myFunc')
。这里的问题是,现在您已经将事件绑定到了可能没有意义的元素,并导致了奇怪的功能。与绑定到输入字段的“单击”事件类似,例如右键。这就是为什么我首先要问这个问题:)我可以接受没有更好的方法了,我只是想知道是否有更好的方法。正如我向@joeltine指出的,这将一个选择器连接到多个事件,而不是多个选择器和多个事件连接到一个回调