문제

다음 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-handlerselement and its child-nodes 그리고 유지하다 오직 HTML structure, 우리는 함께 일할 수 있습니다 jQuery's 클론 ():

var original, clone;
//
original = $('#my-div');
clone = original.clone();
//
original.replaceWith(clone);

이것은 할 것입니다 효과적으로 떠나십시오 event-handlerselement 또는 그 child-nodes.

행운을 빕니다...

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top