2011-12-06 14 views
28

jquery fancyboxバージョン2.0.3を使用しています。私はfancyboxの外でクリックして閉じるのを防ぎたい。ユーザーに十字ボタンをクリックさせたい私は試しましたjquery fancybox 2.0.3 - ファンシーボックスの外をクリックして閉じるのを防ぐ

$(document).ready(function() { 
    $(".various").fancybox({ 
     closeClick : false, 
     openEffect : 'none', 
     closeEffect : 'none', 
     hideOnOverlayClick:false, 
     hideOnContentClick:false 
    }).trigger("click"); 
}); 

しかし、これはファンシーボックスの新バージョンでは動作しないようです。私は、リンク

jquery fancybox - prevent close on click outside of fancybox

を参照していたが、これらのソリューションは、このオプションを使用しfancyboxに2.0.3

答えて

76

を動作するようですしません:

helpers : { 
    overlay : {closeClick: false} 
} 

ので、最終的なスクリプトはのようになります。 :

$(document).ready(function() { 
$(".various").fancybox({ 
    closeClick : false, // prevents closing when clicking INSIDE fancybox 
    openEffect : 'none', 
    closeEffect : 'none', 
    helpers : { 
    overlay : {closeClick: false} // prevents closing when clicking OUTSIDE fancybox 
    } 
}).trigger("click"); 
}); 

hideOnOverlayClickおよびhideOnContentClickはFancybox v1.3.xのオプションです

+0

素晴らしいソリューション! – Aditya

+0

スクリプトはうまく動作しますが、関連するボタンをクリックした後ではなく、ドキュメント上にfancyboxが表示されます。どのようにそれを防ぐためにどのようなアイデア? – Pejs

+0

@Pejsページが読み込まれた直後にスクリプトを実行したくない場合は、上記のコードから '.trigger(" click ")'を削除してください。 – JFK

0
$(document).ready(function() { 
    $("#popup").fancybox({ 
     closeClick : false, 
     openEffect : 'none', 
     closeEffect : 'none', 
     helpers : { 
      overlay : { 
       closeClick: false, 
      } 
     } 
    }).trigger("click"); 
}); 
+0

こんにちはDeepak、 初めてのお返事ありがとうございます。可能であれば、コミュニティがもっと学ぶのを助けるために答えがなぜ働くのかを説明してください:) ハッピープログラミング... サム(査読者) – saml

関連する問題