У меня есть событие click, назначенное 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 изменяется в соответствии с новыми стилями).
Как я могу сделать это так, чтобы события click соответствовали классам, даже после того, как jQuery добавляет/удаляет класс clickable
?