覆盖以前绑定的点击事件

时间:2010-05-07 05:39:50

标签: javascript jquery events click

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

$("#foobar").click(function () { alert("first"); });
$("#foobar").click(function () { alert("second"); });

我收到两个警告:“第一个”和“第二个”第二个。

如何指定同时清除附加到元素的所有先前点击事件的点击事件?我希望最后$("#foobar").click(...)删除任何以前绑定的事件。

2 个答案:

答案 0 :(得分:9)

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

$("#foobar").unbind("click").click(function() { alert("second"); });

答案 1 :(得分:3)

$("#foobar").click(function () { alert("first"); });
$("#foobar").unbind('click').click(function () { alert("second"); });

注意unbind()方法。它听起来确实如此。