これで、私のフォロワーリストを見てユーザーのフォローまたはアンフォローを可能にする2つのボタンがあります。たとえば、誰かが既にフォロワーにいるときは、フォローフォルトボタンが表示され、そうでない場合はフォローボタンが表示されます。replaceWith()を使用してボタンを別のものに置き換える
followProfile: function (e) {
var personalData = $('#personal-information').serializeObject();
var postParams = {
csrfmiddlewaretoken: $.cookie('csrftoken'),
personal_data: JSON.stringify(personalData)
};
$.post('/follow/', postParams, function(resp) {
$(".follow-button").replaceWith($(".unfollow-button").show());
})
},
unfollowProfile: function (e) {
var personalData = $('#personal-information').serializeObject();
var postParams = {
csrfmiddlewaretoken: $.cookie('csrftoken'),
personal_data: JSON.stringify(personalData)
};
$.post('/unfollow/', postParams, function(resp) {
$(".unfollow-button").replaceWith($(".follow-button").show());
})
},
ここに問題があります。誰かに従うためにクリックすると、ボタンが変わり、アンフォローになります。しかし、再びunfollowをクリックすると、ボタンが消えます。私はJavascriptとBackbone.jsの新機能ですので、以前はこのメソッドを使用していませんでした。ボタンが消える理由を教えてください。ここで何が間違っていますか?
明確化:私が呼ぶとき、それは正確に従うことをフォローし置き換え、「アンフォロー」(今では従ってあります)。しかし、ここをクリックすると、「unfollow」ボタンを書く代わりに、ボタンが消えます。
ああ、あなたのポイントは正しいですが、私が.show()を書くと、それはまだ消えています:/私は質問を編集しています。あなたの返信と修正をありがとう。 – waterkinq
私は自分の答えを編集しました。それが役立つかどうかを見てください。 – cani
同じ結果が得られます。まず、フォローをアンフォローボタンに正しく変更しますが、フォローアップを解除するためにフォローを変更することはできません。私はreplaceWith()関数を上書きすると思います。 – waterkinq