$(document).ready(function() {
$('a#fav').bind('click', function() {
addFav(<?php echo $showUP["uID"]; ?>);
});
});
function addFav(id){
$.ajax({
url: "misc/favAdd.php",
data: { id: id},
success: function(){
$('a#fav')
.addClass('active')
.attr('title','[-] Remove as favorite')
.unbind('click')
.bind('click', removeFav(id))
;
jGrowlTheme('wallPop', 'mono', '[+] Favorit', 'Du har nu lagt till denna profil som favorit', 'images/addFavorit_hover2.png', 1000);
}
});
}
function removeFav(id){
$.ajax({
url: "misc/favRemove.php",
data: { id: id },
success: function(){
$('a#fav')
.removeClass('active')
.attr('title','[+] Add as favorite')
.unbind('click')
.bind('click', addFav(id))
;
jGrowlTheme('wallPop', 'mono', '[-] Favorit', 'Du har nu tagit bort denna profil som favorit', 'images/addFavorit_hover2.png', 1000);
}
});
}
我有这个问题,当我点击一个#favs然后addClass活动,并删除它并添加和删除并发送一堆ajax本身..它变得疯狂。 我不希望这样,我想拥有它,所以当你点击#ef上它添加类(发送ajax调用)然后当你再次点击它时它会发送ajax调用并删除该类。它继续这样......
我做错了什么?
答案 0 :(得分:3)
通过撰写.bind('click', removeFav(id))
,您立即调用removeFav
并将其返回值传递给bind
函数。
相反,您需要传递一个调用removeFav
的函数,如下所示:
.bind('click', function() { removeFav(id); })
(同样适用于addFav
之后)