我写了一个“最喜欢的”功能(几乎完全是对 Stefan Hoth 和他对前一篇文章的回复),这在很大程度上是有效的。然而,这很古怪。
首先,访问页面后,收藏按钮需要按两次才能开始工作,之后只需单击即可在状态之间切换。
其次,removeClass() 方法似乎很乐意删除 class="active" 属性的“active”部分,这很奇怪。
function favouriteAdd (){
$.ajax({
url: base_url + "bookmarks/jq_set_bookmark_as_favourite/add/" + $("a#favourite").data("bookmark"),
success: function () {
$('a#favourite')
.addClass('active')
.attr('title', "Remove as Favorite")
.unbind('click')
.bind('click', favouriteRemove);
}
});
}
function favouriteRemove (){
$.ajax({
url: base_url + "bookmarks/jq_set_bookmark_as_favourite/remove/" + $("a#favourite").data("bookmark"),
success: function () {
$('a#favourite')
.removeClass('active')
.attr('title', "Add as Favorite")
.unbind('click')
.bind('click', favouriteAdd);
}
});
}
if($('a#favourite').hasClass('active') == true) {
$('a#favourite').bind('click', favouriteRemove);
} else {
$('a#favourite').bind('click', favouriteAdd);
}
我猜这个解决方案对于初学者来说是基本的,但是当谈到 jQuery 时,我很遗憾地处于初级课程中。