2013-10-07 3 views
2

내 페이지의 헤더에 .click() 함수가 있다면 나중에 페이지에서 덮어 쓸 수 있습니까? 예를 들어 JQuery에서 .click() 함수를 변경할 수 있습니까?

나는이 헤더에있는 경우 : $("a.lol")을 변경하려면 다른 것을 경고하고, "AAA"를 경고하지

<script> 
$("document").ready(function() { 
    $("a.lol").click(function() { 
     alert("aaa"); 
    }); 
}); 
</script> 

이 가능겠습니까?

답변

5

이 시도

$("document").ready(function() { 
    $("a.lol").click(function() { // initially the click event 
     alert("aaa"); 
    }); 
    $("a.lol").off('click');// off the click event 
    $("a.lol").on('click',function() { // again bind new click event with on() 
     alert("new click"); 
    }); 
}); 

읽기 on()off()

+1

자체를 제거 할 수 있습니다 . 문서에서 : ".off() 메서드는 .on()으로 첨부 된 이벤트 처리기를 제거합니다." –

+0

감사합니다 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! – user2217162

+2

@BrianStephens 방금 해봤습니다. 나를 위해 잘 작동합니다. [소스 코드보기] (http://james.padolsey.com/jquery/#v=1.10.2&fn=jQuery.fn.click)하면'.click'은'.on '내부적으로 (.bind'와'.delegate'처럼). – Blazemonger

3

.unbind()을 사용하고 새 처리기를 추가하여 "다시 넣으십시오".

$("a.lol").unbind('click'); 
1

사용 .off()

$("a.lol").off('click'); 

.on()

을 다시 추가 사용3210
$("a.lol").on('click',functionName); 

또는

$("a.lol").on('click',function() { 
    //code here 
}); 
0

사용 $("a.lol").off('click') 모든 클릭 처리기를 제거합니다. 이후에 새로운 것을 설치할 수 있습니다. jQuery를 이전 버전의

unbind()

0

예, 당신이 off()와 현재의 핸들러를 제거해야합니다 다음 새 핸들러 다시) (클릭 전화를 사용합니다.

// Some code 
$("a.lol").off("click") 
$("a.lol").click(function() { 
    alert("ooo"); 
}); 

추신 : 사용 사례에 따라)는 (아마도 한 번만 핸들러를 트리거 할 one()을 사용하고 그것은 핸들러 클릭으로 추가 제거하지 않을 것이다 오프() 나의 이해의

관련 문제