私は "お気に入り" 機能 (ほぼ完全に Stefan Hoth と以前の記事に対する彼の返信に特化した機能) を作成しましたが、これはほとんどの場合機能しています。しかし、それは風変わりです。
まず、ページにアクセスした後、お気に入りボタンが機能する前に 2 回押す必要があります。その後は、1 回のクリックで状態を切り替えることができます。
第 2 に、removeClass() メソッドは、class="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に関しては初歩的なクラスにいます。