私はこのスクリプトを持っています:
<script>
$(document).ready(function() {
$('.block-link').click(function() {
$('body').addClass("gallery-on");
});
$('body').delegate('.ps-toolbar-close', 'click', function() {
$('body').removeClass("gallery-on");
});
});
</script>
スクリプトは、任意のをクリックし.gallery-on
たbody
ときにクラスを追加することになっています.block-link
。
この.ps-toolbar-close
要素は、いずれかがクリックされたときにモーダル ライトボックスを作成するプラグイン(かなり良いです!) を介して生成されます。.block-link
スクリプトの最初の部分は機能しており、2 番目の部分は.gallery-on
ボディからクラスを削除することになっていますが、ライトボックスを閉じて、ボディ クラスをそのままにしておきます。
私は何を間違っていますか?残念ながら、私はjavascriptとjqueryの初心者です..
私の最善の推測は.ps-toolbar-close
、ページが読み込まれたときにドキュメントにまだ存在しないため、スクリプトの 2 番目の部分にクリック ハンドラが配置されて.delegate()
いないことです。まだ存在しない要素を処理できると思っていましたが、間違っていますか?
助けてくれてありがとう!