2011-04-30 4 views
3

좋아, 그래서이변경 onclick을

<img width="38" height="39" onclick="jreviews.favorite.add(this,{listing_id:2655})" class="imgFavoriteAdd" alt="Add to favorites" id="jr_favoriteImg2655" src="http://kingdomshopper.com/templates/jreviews_overrides/views/themes/default/theme_images/fav_add.png"> 

을하고 온 클릭을 볼 수있는 것은 내가

jreviews.favorite.remove(this,{listing_id:2655}) 

에 온 클릭을 변경해야

jreviews.favorite.add(this,{listing_id:2655}) 

하지만 때 내가 do

jQuery("#jr_favoriteImg2655").attr("onclick") 
onclick(event) 

내가

jQuery("#jr_favoriteImg2655").attr("onclick", "jreviews.favorite.add(this,{listing_id:2655})") 

을 수행 할 수 있습니다 또는 더 나은 또는 다른 방법

답변

4

입니다 >

// Initializing >> 
var first = function() { jreviews.favorite.add(this,{listing_id:2655}) }; 
var second = function() { jreviews.favorite.remove(this,{listing_id:2655}) }; 

jQuery("#jr_favoriteImg2655").bind("click", first); 

한 다음>

jQuery("#jr_favoriteImg2655").unbind("click", first); 
jQuery("#jr_favoriteImg2655").bind("click", second); 
+1

거의 체육을 전환 할 때 rfect; '.unbind()'와'.bind()'호출은 같은 래핑 된 요소를 사용하기 때문에 함께 호출하는 것이 좋습니다. –

2

이 할 수있는 일반적인 방법이있다 (즉, 자바 스크립트를 사용하지 않는 것이 좋습니다 인라인을 사용

jQuery("#jr_favoriteImg2655").click(function() { 
    jreviews.favorite.remove(this,{listing_id:2655}); 
}); 
2

하지만, 어쨌든 당신은 당신이 이전 여부를 좋아하는이 추가하기 위해 여기에 조건을 사용할 수 있습니다) 이벤트에 함수를 바인딩 bind 또는 click 중 하나입니다. 이런 식으로 뭔가 :

<img width="38" height="39" onclick="if(!jreview.favorite.exist(this)){jreviews.favorite.add(this,{listing_id:2655})}else{jreviews.favorite.remove(this,{listing_id:2655})}" class="imgFavoriteAdd" alt="Add to favorites" id="jr_favoriteImg2655" src="http://kingdomshopper.com/templates/jreviews_overrides/views/themes/default/theme_images/fav_add.png"> 

나는 당신의 API에 익숙하지 않아요 및 exist 당신이 당신의 요소에서 온 클릭 속성을 제거하고 다음을 수행하는 경우가 꺼져 훨씬 더 있습니다 단지 예를

관련 문제