2011-08-20 2 views
0

클릭 할 때 버튼 변경 이미지가 표시되고 사용자가 다시 클릭 할 때 다시 변경하려고합니다. 내가 바인딩에 예를보고 유래에 바인딩 해제 (here를)하지만이 기능을 장난하고 있었고, 난 할 수없는 것 같다바인딩 해제 및 바인딩이 사용자 정의 함수를 사용하는 데 도움이됩니다.

$('a#fav').bind('click','addFav'); 

코드 조각은 위의 클릭에 이벤트를 실행되지 않습니다, 하지만 이런 일을하면

$('a#fav').bind('click',function(){ 
    alert('test'); 
}); 

작동합니다. 누군가가 .bind 및 .unbind와 함께 작동하도록 사용자 정의 함수를 얻는 것을 도와 줄 수 있습니까?

당신을 감사

함수 참조 문자열을 사용하지 마십시오

답변

0

하고 작동 : 여기

function addFav(e) { 
    e.preventDefault(); 
    alert('called'); 
    return false; 
} 
$(document).ready(function() { 
    $('a#fav').bind('click', addFav); 
}) 

은 예입니다 : http://jsfiddle.net/BpGXD/2/

+0

를 트리거 할 때 당신은 또한 직접 실행됩니다 두 번째 인수로 익명 함수를 통과 할 수 있지만, 원 수 다시 클릭하면 변경되지 않습니다. 어쩌면 이걸 가지고 뭔가를해야만할까요? 바인딩을 해제하고 바인딩 할 수 있습니까? 감사! bind ('click', removeFav)'$ ('a # favorites') removeClass ('active') text ('title', 'Remove favorites' – hellomello

0
: 여기 http://jsfiddle.net/BpGXD/

가 때어과 예제

bind은 함수 참조를 두 번째 인수로 취합니다. 당신의 예에서 당신이 통과 한 것은 끈이므로 작동하지 않을 것입니다. 당신은 함수를 정의하고 그냥 함수 이름을 전달하거나 이벤트가 나는 그것이 변경 곳에 일을 내 바인드를 가지고

function addFav(){ 
    alert("click fired"); 
} 

$('a#fav').bind('click', addFav); 

//Or 

$('a#fav').bind('click', function(){ 
    alert("click fired"); 
}); 
관련 문제