我有一个附加了许多事件触发器的元素。
如何取消所有这些事件(不编辑这些触发器的代码)并添加新事件。
到目前为止,我没有运气试过这个:
$(document).ready(function() {
$( document ).on( 'click', '#element', function(e) {
$(this).off();
e.preventDefault();
e.stopPropagation();
e.stopImmediatePropagation();
// now that it's cancelled, do NEW stuff below
alert('test');
});
});
答案 0 :(得分:0)
克隆元素以删除所有事件侦听器,并用新的克隆元素替换该元素。
$(document).ready(function() {
$( document ).on( 'click', '#element', function(e) {
var clonedElem = $(this).clone();
$( this ).replaceWith( clonedElem )
});
});
答案 1 :(得分:-2)
你的代码应该这样做
$(this).off()
删除所有事件侦听器。但是,你想检查一下这个'真的是你想要解决的问题。在您的代码中,这个'将是Window对象,而不是#element