active
次のように、クラスを持つ親要素に含まれる要素があります。
<div class="active">
<div class="button"></div>
</div>
divのクリックを処理するようにjQueryを設定していますが、button
そのdivがactive
親に含まれている場合に限ります。
$('.active .button').click(function(){
alert('Button clicked!');
});
jQueryを使用active
して親からクラスを削除しましたが、クラスを削除した後でも、ボタンをクリックするとアラートがポップアップ表示されます。ボタンがセレクターの基準を満たさなくなったため、これは非常に珍しいようです。Chrome、Firefox、IEで発生するため、意図的な動作のようです。私は何かが足りないのですか?または、少なくともこれを回避する簡単な方法はありますか?
テスト用の簡単なJSFiddleの例を次に示します:http://jsfiddle.net/KjuDy/。一番上の行のボックスをクリックします。これにより、アラートがポップアップ表示され、active
期待どおりにクラスが削除されます。active
クラスが終了した後でも、一番上の行のボックスをクリックすると、問題が発生します。アラートがポップアップしないことを期待しますが、それでもポップアップします。