كيفية حذف/إزالة جافا سكريبت معالج الحدث?
-
03-07-2019 - |
سؤال
نظرا HTML التالية جزء:
<form id="aspnetForm" onsubmit="alert('On Submit Run!'); return true;">
إذا كنت تحتاج إلى إزالة/مسح معالج onsubmit الحدث وتسجيل بلدي باستخدام مسج أو أي نكهة أخرى من استخدام جافا سكريبت.
المحلول
لقيام بذلك دون أي المكتبات:
document.getElementById("aspnetForm").onsubmit = null;
نصائح أخرى
ومع مسج
$('#aspnetForm').unbind('submit');
وبعد ذلك إلى إضافة الخاصة بك.
وجرب هذا، وهذا هو العمل بالنسبة لي:
$('#aspnetForm').removeAttr('onsubmit').submit(function() {
alert("My new submit function justexecuted!");
});
هذا للحصول على المزيد التفاصيل.
لمسج، إذا كنت ملزمة معالجات الأحداث مع .live، يمكنك استخدام تشديد يموت لتوثيق جميع الحالات التي تم ملزمة مع .live.
لمسج، off()
يزيل جميع معالجات الأحداث التي أضافها مسج منه.
$('#aspnetForm').off();
<اقتباس فقرة>
ودعوة .off () بدون وسائط يزيل جميع معالجات تعلق على العناصر.
اقتباس فقرة>إذا كنت ترغب في إزالة كل event-handlers
على element and its child-nodes
و الاحتفاظ فقط HTML structure
, يمكننا العمل مع jQuery's
استنساخ():
var original, clone;
//
original = $('#my-div');
clone = original.clone();
//
original.replaceWith(clone);
هذا سوف بشكل فعال لا تترك event-handlers
على element
أو child-nodes
.
حظا سعيدا...