画面の中央に写真を開くhrefがあります(fancybox / lightbox / lyteboxのように考えてください)。これは、写真のあるdivを除いて、ユーザーがサイトの任意の場所をクリックしたときに閉じます。
jQueryでこれをターゲットにするにはどうすればよいですか?
画面の中央に写真を開くhrefがあります(fancybox / lightbox / lyteboxのように考えてください)。これは、写真のあるdivを除いて、ユーザーがサイトの任意の場所をクリックしたときに閉じます。
jQueryでこれをターゲットにするにはどうすればよいですか?
jQuery.not()
メソッドを使用します。
$(".elements").not(".this-element").on("click", function() {
$(".this-element").hide();
});
アップデート
@nnnnnnが指摘しているように、これを行うと、いくつかの複雑な伝播の問題が発生します。より良い方法は、オーバーレイdiv(@ j08691で言及されているように、非表示にする要素よりも小さいz-indexを使用)を使用して、それにバインドすることです。
または、別のハンドラーを追加します(これはお勧めしません)。
$(".this-element").on("click", function(e) {
e.stopPropagation(); // ugly boilerplate to fix thoughtless bindings
);