Как очистить / удалить обработчик событий JavaScript?
учитывая следующий фрагмент HTML:
<form id="aspnetForm" onsubmit="alert('On Submit Run!'); return true;">
Мне нужно удалить / очистить обработчик для события onsubmit и зарегистрировать свой собственный, используя jQuery или любой другой вкус использования JavaScript.
8 ответов:
попробуйте это, это работает для меня:
$('#aspnetForm').removeAttr('onsubmit').submit(function() { alert("My new submit function justexecuted!"); });посмотреть этой для более подробной информации.
для jQuery, если вы связываете обработчики событий С.живи, можешь пользоваться .умрите, чтобы развязать все экземпляры, которые были связаны .жить.
для jQuery,
off()удаляет из него все обработчики событий, добавленные jQuery.$('#aspnetForm').off();призвание .off () без аргументов удаляет все обработчики, прикрепленные к элементам.
если вы хотите удалить все
event-handlersнаelement and its child-nodesи сохранить толькоHTML structure, мы можем работать сjQuery'sclone ():var original, clone; // original = $('#my-div'); clone = original.clone(); // original.replaceWith(clone);это эффективно оставить без
event-handlersнаelementилиchild-nodes.удачи...
Comments