2017-05-05 74 views
1

我在我的cshtml文件中有以下代碼。如何從javascript打開fancybox。

<div style="display:none"> 
<div id="EditFancy" class="fancybox-infobar"> 
//Some not relevant input fields. 
</div> 
</div> 

我試圖從cshtml文件頂部包含的JavaScript激活/顯示fancybox。

但是,我可以從同一cshtml文件中的鏈接激活/顯示它。使用以下代碼:

<a href="#EditFancy" class="btnForm" id="btnForm">asd</a> 
    <script type="text/javascript"> 
     $("#btnForm").fancybox(); 
    </script> 

幫助將不勝感激。

+0

所以你有一段代碼,你在頁面中的某處運行,它可以工作,但是當你把它放在文件的頂部時它不起作用?爲什麼要把它放在文件的頂部? –

+0

@MikeC可維護性主要是 –

+0

@KyleBecker這沒有意義。將所有腳本放在頁面底部也是可以維護的,這是你應該做的,除非你有一個非常好的理由不去做。 –

回答

0

如果使用jQuery的嘗試$(文件)。就緒()函數來包裝代碼或使用的window.onload()JavaScript函數

+0

假設調用fancybox的函數在$(document).ready()函數內。 –

+0

是否在庫加載前檢查腳本是否已加載。您是否在視圖共享佈局頁面管理腳本部分?這些考慮可能有幫助。 – decoder

+0

是的,他們在哪裏加載。原來我應該使用jQuery.fancybox.open(jQuery('#btnForm'))。謝謝你的幫助! –

0

你可以使用事件代表團創建自己的點擊處理程序打開的fancybox ,例如:

$("body").on("click", "btnForm", function() { 
    $.fancybox.open({ src: $(this).attr('href'), type : 'inline' }); 
}); 
+0

謝謝!然而,我只是發現這個:jQuery.fancybox.open(jQuery('#btnForm')); btnForm是標記的標識,用於打開fancybox。 –