在jQuery中绑定多个事件

Lac*_*cD. 12 javascript jquery

我有一个自定义的jQuery插件,它将change事件绑定到表单元素,在这种情况下是一些input元素.该change事件用于向某些其他组件指示已发生更改.

这应该是正常的.

但是,我遇到了将附加change事件绑定到相同input元素的需要 - 以便其他组件可以对事件起作用.我不想更换插件change,之后再运行一个额外的功能.

有没有办法在jQuery中绑定多个事件,或者,实现这个的最佳方法是什么?

Anu*_*rag 21

您可以为同一事件绑定多个处理程序.像往常一样绑定第二个更改:

?<input type="text" id="a" />???????????????

?$("#a"?).change(function() { alert("1"); });
$("#a").change(function() { alert("2"); });?

$("#a").change(); // alerts 1, then 2
Run Code Online (Sandbox Code Playgroud)

  • 啊欢呼。我的印象是这样做会取代第一个功能。 (2认同)

cle*_*tus 6

jQuery中的事件堆栈.如果你这样做:

<input type="button" value="Press me">
Run Code Online (Sandbox Code Playgroud)

和:

$(":button").click(function() {
  alert("click");
}).click(function() {
  alert("click 2");
});
Run Code Online (Sandbox Code Playgroud)

两个都会开火.所以只需将另一个事件绑定到相关元素.它不会覆盖第一个.