给出以下HTML片段:
<form id="aspnetForm" onsubmit="alert('On Submit Run!'); return true;">
我需要删除/清除onsubmit事件的处理程序,并使用jQuery或任何其他JavaScript使用方式注册我自己的处理程序。
答案 0 :(得分:81)
要在没有任何库的情况下执行此操作:
document.getElementById("aspnetForm").onsubmit = null;
答案 1 :(得分:24)
使用jQuery
$('#aspnetForm').unbind('submit');
然后继续添加自己的。
答案 2 :(得分:11)
试试这个,这对我有用:
$('#aspnetForm').removeAttr('onsubmit').submit(function() {
alert("My new submit function justexecuted!");
});
有关详细信息,请参阅this。
答案 3 :(得分:2)
对于jQuery,如果使用.live绑定事件处理程序,则可以使用.die取消绑定与.live绑定的所有实例。
答案 4 :(得分:2)
答案 5 :(得分:0)
如果您要删除event-handlers
上的所有 element and its child-nodes
和仅<{1}} ,我们可以使用{ {1}} clone():
HTML structure
这将有效地在jQuery's
或其var original, clone;
//
original = $('#my-div');
clone = original.clone();
//
original.replaceWith(clone);
上不留event-handlers
。