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指出的,这将一个选择器连接到多个事件,而不是多个选择器和多个事件连接到一个回调