覆盖以前绑定的点击事件

Jam*_*ead 3 javascript jquery events click

当我将此代码与id为"foobar"的元素一起使用时:

$("#foobar").click(function () { alert("first"); });
$("#foobar").click(function () { alert("second"); });
Run Code Online (Sandbox Code Playgroud)

我得到两个警报:"第一"和"第二"秒.

如何指定单击事件,该事件还会清除附加到元素的任何先前单击事件?我希望最后一个$("#foobar").click(...)删除任何先前绑定的事件.

Gle*_*ord 9

您可以取消绑定已附加到该元素的事件,然后附加第二个事件处理程序,因此它将是唯一的一个(请注意unbind方法).

$("#foobar").unbind("click").click(function() { alert("second"); });
Run Code Online (Sandbox Code Playgroud)