문제

PHP 코드 :

<a id="a$id" onclick="check($id,1)" href="javascript:void(0)"  class="black">Qualify</a>

나는 제거하고 싶다 onclick="check($id,1) 따라서 링크를 클릭하거나 "check($id,1) 해고되지 않습니다. jQuery로 어떻게 할 수 있습니까?

도움이 되었습니까?

해결책

오래된 방법 (사전 1.7) :

$("...").attr("onclick", "").unbind("click");

새로운 방법 (1.7+):

$("...").prop("onclick", null).off("click");

(필요한 선택기로 교체하십시오.)

// use the "[attr=value]" syntax to avoid syntax errors with special characters (like "$")
$('[id="a$id"]').prop('onclick',null).off('click');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>


<a id="a$id" onclick="alert('get rid of this')" href="javascript:void(0)"  class="black">Qualify</a>

다른 팁

나는 이것이 꽤 오래되었음을 알고 있지만, 잃어버린 낯선 사람 이이 질문을 찾을 때 (내가했던 것처럼) 이것은 removeattr ()를 사용하는 대신 다음을 수행하는 가장 좋은 방법입니다.

$element.prop("onclick", null);

인용 jQuerys 공식 도쿠:

.

jQuery 1.7을 사용하는 경우

$('html').off('click');

또 다른

$('html').unbind('click');

풀이 onclick 재산

다음과 같이 클릭 이벤트 인라인을 추가했다고 가정합니다.

<button id="myButton" onclick="alert('test')">Married</button>

그런 다음 다음과 같은 이벤트를 제거 할 수 있습니다.

$("#myButton").prop('onclick', null); // Removes 'onclick' property if found

풀이 click 이벤트 청취자

다음과 같이 이벤트 리스너를 정의하여 클릭 이벤트를 추가했다고 가정합니다.

$("button").on("click", function() { alert("clicked!"); });

... 또는 이렇게 :

$("button").click(function() { alert("clicked!"); });

그런 다음 다음과 같은 이벤트를 제거 할 수 있습니다.

$("#myButton").off('click');          // Removes other events if found

둘 다 제거

이벤트가 추가 된 방법을 확실하지 않은 경우 다음과 같이 두 가지를 결합 할 수 있습니다.

$("#myButton").prop('onclick', null)  // Removes 'onclick' property if found
              .off('click');          // Removes other events if found

removeAttr을 사용하는 것은 매우 쉽습니다.

$(element).removeAttr("onclick");

Bind, Unwind, On, Off, Click, Att, RemoveAttr, Prop I를 사용하여 열심히 노력한 후에는 작동했습니다. 따라서 다음 시나리오가 있습니다. HTML에는 인라인 on 클릭 핸들러를 첨부하지 않았습니다.

그런 다음 JavaScript에서 다음을 사용하여 인라인 OnClick 핸들러를 추가했습니다.

$(element).attr('onclick','myFunction()');

JavaScript에서 나중에 이것을 제거하기 위해 다음을 사용했습니다.

$(element).prop('onclick',null);

이것은 JavaScript에서 Dinamically Click 이벤트를 묶고 풀기 위해 노력한 방식입니다. 요소에 인라인 on 클릭 핸들러를 삽입하지 마십시오.

OnClick 이벤트가 요소가 아니라 부모 요소에있는 경우 어떻게됩니까? 이것은 작동해야합니다 :

$(".noclick").attr('onclick','').unbind('click');
$(".noclick").click(function(e){
    e.preventDefault();
    e.stopPropagation();
    return false;
});

ID로 OnClick 이벤트를 풀면 다음을 사용해보십시오.

$('#youLinkID').attr('onclick','').unbind('click');

OnClick 이벤트를 수업별로 풀고 사용하면 사용하십시오.

$('.className').attr('onclick','').unbind('click');
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top