JavaScriptイベントハンドラーをクリア/削除する方法は?
-
03-07-2019 - |
質問
次のHTMLフラグメントを指定します。
<form id="aspnetForm" onsubmit="alert('On Submit Run!'); return true;">
onsubmitイベントのハンドラーを削除またはクリアし、jQueryまたはその他のJavaScriptの使用を使用して独自に登録する必要があります。
解決
ライブラリなしでこれを行うには:
document.getElementById("aspnetForm").onsubmit = null;
他のヒント
jQueryを使用
$('#aspnetForm').unbind('submit');
そして独自の追加に進みます。
これを試してください、これは私のために働いています:
$('#aspnetForm').removeAttr('onsubmit').submit(function() {
alert("My new submit function justexecuted!");
});
詳細については、こちらをご覧ください。詳細。
jliveでは、.liveでイベントハンドラーをバインドしている場合、.dieを使用して、.liveでバインドされたすべてのインスタンスのバインドを解除できます。
jQueryの場合、 off()
はすべてのイベントを削除しますjQueryによって追加されたハンドラー。
$('#aspnetForm').off();
.off()を引数なしで呼び出すと、要素に接続されているすべてのハンドラーが削除されます。
要素とその子ノード
の ALL event-handlers
を削除し、保持する場合 HTML構造
のみ。 jQueryの
cloneで作業できます。 ():
var original, clone;
//
original = $('#my-div');
clone = original.clone();
//
original.replaceWith(clone);
これにより、 element
またはその child-nodes
に event-handlers
が効果的に残されません。
がんばって...
所属していません StackOverflow