我正在使用JavaScript和JQuery,有来自jquery.js的click事件的参考,
这里我试图覆盖click事件,但没有发生。 即使被覆盖仍然是旧的而不是新的。 有没有办法根据优先级加载事件?
答案 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');