0

ファンシーボックスのコンテンツの外をクリックすると、ファンシーボックスhttp://fancyapps.com/fancybox/を閉じるにはどうすればよいですか 。overlay :true を使用できますが、fancybox が開いているときに別の画像をクリックできるようにしたいと考えています。

このコードを試してみましたが、fancybox をキャンセルしてまったく開くことができませんでした。

$(document).click(function() {
    $.fancybox.close()
});
4

1 に答える 1

0

これは洗練された解決策ではないかもしれませんが、機能します。

外をクリックしたときにファンシーボックスを閉じるには、以下のようなものを使用できます。

$(':not(<fancybox_links_selector>)').live('click', function(event){
    event.stopPropagation();
    $.fancybox.close();
});

このjQuery:not演算子と正しいセレクターを使用すると、ファンシーボックスを開く要素(この場合は画像..)を除くすべての要素を選択できます。

目的のリンク(画像をもう一度..)をクリックしたときにファンシーボックスを開くことができるようにするには、クリックイベントが親に伝播するのを停止する必要があります..

下記参照 ...

$('<fancybox_links_selector>').live('click', function(event){
    event.stopPropagation();
    event.preventDefault();

    // write any extra required code here
    return false;
});

これにより、クリックイベントのバブリングが停止し、ファンシーボックスを開くことができます...

お役に立てれば ...

于 2012-08-30T19:01:34.443 に答える