2011-12-06 103 views
28

我正在使用jquery fancybox版本2.0.3。我想阻止在fancybox之外點擊。我想強制用戶點擊十字按鈕。我試過jquery fancybox 2.0.3 - 防止在fancybox外點擊關閉

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

但是這似乎並不適用於fancybox的新版本。我曾提到的鏈接

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 andFancybox 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

Hi Deepak, 感謝您在stackoverflow上的第一個答案。如果可能的話,請解釋爲什麼答案有效,以幫助社區瞭解更多:) 快樂編程... Sam(評論者) – saml