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!");
});
보다 이것 자세한 사항은.
jQuery의 경우 .live가있는 이벤트 처리기를 바인딩하는 경우 .die를 사용하여 .live와 바인딩 된 모든 인스턴스를 풀 수 있습니다.
jQuery의 경우 off()
jQuery가 추가 한 모든 이벤트 핸들러를 제거합니다.
$('#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
.
행운을 빕니다...
제휴하지 않습니다 StackOverflow