如何从javascript打开fancybox。

如何从javascript打开fancybox。,javascript,fancybox,Javascript,Fancybox,我的cshtml文件中有以下代码 <div style="display:none"> <div id="EditFancy" class="fancybox-infobar"> //Some not relevant input fields. </div> </div> //一些不相关的输入字段。 我试图从cshtml文件顶部包含的javascript激活/显示fancybox 但是,我可以从同一个cshtml文件中的链接激活/显示它。

我的cshtml文件中有以下代码

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

$(“#btnForm”).fancybox();

非常感谢您的帮助。

如果您使用jquery,请尝试使用$(document).ready()函数或使用window.onload()javascript函数包装代码。

您可以使用打开fancybox的事件委派创建自己的单击处理程序,例如:

$( "body" ).on( "click", "btnForm", function() {
  $.fancybox.open({ src: $(this).attr('href'), type : 'inline' });
});
使用jQuery.fancybox.open(jQuery(“#btnForm”);从javascript打开fancybox

函数viewproperty(){ $.fancybox.open({ src:“#属性信息” }); }


此代码适用于最新版本的facncybox。

因此,您在页面中的某个位置运行了一段代码,它可以工作,但当您将其放在文件顶部时,它就不能工作了?为什么要把它放在文件的顶部?@MikeCmostly@KyleBecker那没有道理。把所有的脚本放在页面底部也是可以维护的,这是你应该做的,除非你有很好的理由不这么做。我有点含糊不清。“divs”位于cshtml文件的顶部(在包含用于显示fancybox的javascript文件之前)。问题是我无法从“外部”javascript文件显示fancybox。到目前为止,解决方法是在javascript中编写fancybox内容,但这不是很好。如果有帮助的话,我可以提供更多的代码。应该调用fancybox的函数在$(document).ready()函数中。在加载库之前检查脚本是否已加载。您是否管理“查看共享布局”页面上的脚本部分?这些考虑可能会有所帮助。是的,它们在加载的地方。事实证明我应该使用jQuery.fancybox.open(jQuery(“#btnForm”)。谢谢你的帮助!谢谢然而,我刚刚发现:jQuery.fancybox.open(jQuery(“#btnForm”);btnForm是用于打开fancybox的标记的id。