0

画面の中央に写真を開くhrefがあります(fancybox / lightbox / lyteboxのように考えてください)。これは、写真のあるdivを除いて、ユーザーがサイトの任意の場所をクリックしたときに閉じます。

jQueryでこれをターゲットにするにはどうすればよいですか?

4

1 に答える 1

0

jQuery.not()メソッドを使用します。

$(".elements").not(".this-element").on("click", function() {
  $(".this-element").hide();
});​

http://jsfiddle.net/6McAF/

アップデート

@nnnnnnが指摘しているように、これを行うと、いくつかの複雑な伝播の問題が発生します。より良い方法は、オーバーレイdiv(@ j08691で言及されているように、非表示にする要素よりも小さいz-indexを使用)を使用して、それにバインドすることです。

または、別のハンドラーを追加します(これはお勧めしません)。

$(".this-element").on("click", function(e) {
  e.stopPropagation(); // ugly boilerplate to fix thoughtless bindings
);
于 2012-11-20T00:42:00.013 に答える