У меня есть элемент, содержащийся в родительском элементе с классом active
, например:
<div class="active">
<div class="button"></div>
</div>
У меня есть jQuery, настроенный для обработки щелчка по моему button
div, но только если этот div содержится в active
родителе, например:
$('.active .button').click(function(){
alert('Button clicked!');
});
Я использую jQuery для удаления класса active
из родительского, и даже после удаления класса предупреждение все равно появляется, когда я нажимаю кнопку. Это кажется очень необычным, поскольку кнопка больше не соответствует критериям селектора. Это происходит в Chrome, Firefox и IE, поэтому кажется, что это намеренное поведение. Я что-то упускаю? или есть хотя бы простой способ обойти это?
Вот простой пример JSFiddle для тестирования: http://jsfiddle.net/KjuDy/. Щелкните поле в верхнем ряду. При этом появляется предупреждение и, как и ожидалось, удаляется класс active
. Проблема возникает, когда вы щелкаете поле в верхней строке даже после того, как класс active
исчез. Я ожидал, что предупреждение не появится, но оно все равно появляется.