私は同じクラス 'unfollow'を持ついくつかのボタンがあります。
ユーザーがボタンの1つをクリックすると、ajaxリクエストがトリガーされ、クラスが「フォロー」に変更され、クリックリスナーがクラスに追加されます。
ユーザーが 'follow'ボタンをクリックすると、新しいajaxリクエストがトリガーされ、クラスを 'unfollow'に変更します。
ユーザーは 'unfollow'リンクをクリックするとすべてうまくいくが、 'follow'ボタンをクリックすると、2つのajaxリクエスト、 'unfollow'の1つ、 'follow' 。
ajax jqueryとclickイベント
は
を解決し、新しいコード:
約束はアヤックスが
$('.btn').click(function(event) {
var $self = $(this);
var screenName = $self.parent().prev().children().children('p').text().substring(1);
if ($self.hasClass('unfollow')) {
var unfollowReq = new Promise(function(resolve, reject) {
$self.removeClass('unfollow').addClass('follow');
$self.text('Follow');
console.log('Unfollow');
resolve();
});
} else if ($self.hasClass('follow')){
var unfollowReq = new Promise(function(resolve, reject) {
$self.removeClass('follow').addClass('unfollow');
$self.text('Unfollow');
console.log('Follow');
resolve();
});
}
});
更新JSFiddle
よろしく、
Liadを要求シミュレートします。
クラスを変更しても、イベントハンドラは消えません – adeneo