特定のクラスの div に割り当てられたクリック イベントがあります。クリックが発生すると、クラスが div から削除されます。ただし、引き続き div をクリックすると、click()
イベントがトリガーされます (クラスは削除されていますが)。次に例を示します。
HTML:
<div class="clickable">
<p>Click me</p>
</div>
JavaScript/jQuery:
$('.clickable').click(function() {
$(this).removeClass('clickable');
$(this).addClass('not-clickable');
alert('Clicked!');
});
クラスが削除および追加されていることがわかります (CSS に従ってテキストの色が変更されたため)。ただし、div を複数回クリックすることはでき、alert()
引き続き表示されます。
これも逆に発生するようです。clickable
そのため、クラスを div に追加すると、コード$('.clickable').click(function() {...});
は実行されません (ただし、視覚的には、新しいスタイルに従って div が変更されます)。
jQueryがクラスを追加/削除した後でも、クリックイベントがクラスに一致するようにするにはどうすればよいclickable
ですか?