如何在jquery中覆盖click事件

时间:2016-01-04 09:17:41

标签: javascript jquery javascript-events

我正在使用JavaScript和JQuery,有来自jquery.js的click事件的参考,

这里我试图覆盖click事件,但没有发生。 即使被覆盖仍然是旧的而不是新的。 有没有办法根据优先级加载事件?

4 个答案:

答案 0 :(得分:2)

如果我理解正确,这对你有用:

$('.xxx').off('click').on('click', function(e) {
    e.preventDefault();
}

答案 1 :(得分:0)

.click()每次调用时都会添加一个新的处理程序,而不是覆盖现有的处理程序。执行将按照它们绑定的顺序进行。

您可以使用$(id).unbind()清除该元素上的处理程序,然后再添加新元素。

答案 2 :(得分:0)

你需要做的是打电话'取消绑定'方法先然后绑定'编写Jquery的新点击事件的方法, 并确保正确加载所有Jquery插件,下面是一个示例:

$("#button").unbind("click").bind("click", function(){
        alert("this is Overridden click event!");
    });

答案 3 :(得分:0)

也许您需要“解除绑定”定义为内联属性的点击事件。在这种情况下,您可以使用 $.removeAttr() 方法。

$(SELECTOR).removeAttr('onclick');