将脚本附加到头部后触发$.fancybox.init()
Trigger $.fancybox.init() after appending the script to the head
我有一个API,它可以将fancybox脚本附加到客户端网页的head标签,但很明显,这是在dom准备好之后发生的,因此不调用fancybox的init函数
在fancybox.js:中
$(document).ready(function() {
$.fancybox.init();
});
我试着把它改成:
$(document).bind('ready', function() {
$.fancybox.init();
});
然后以不同的方式(逐一(触发dom就绪功能:
$(document).trigger("ready");
$().trigger("ready")
$().ready();
我还尝试过在加载脚本时调用init函数:
$.fancybox.init();
似乎什么都不管用
我确信在尝试所有这些之前,fancybox.css、fancybox.js,甚至mousewheel.js和easing.js都已加载到文档中,我还添加了一个超时来确定
所以问题是,在将js附加到head标签后,如何初始化fancybox插件?
我认为您不需要调用$.fancybox.init();
,只需要在加载了fancybox脚本后初始化正确的选择器,所以我会在API中尝试以下内容:
if (!jQuery.fn.fancybox){
// fancybox is not loaded
jQuery.getScript("{path}/jquery.fancybox.js"); // you may need to change the path
setTimeout(function(){
// init fancybox selector
jQuery(".selector").fancybox();
}, 100); // delay selector initialization
} else {
// fancybox script is ready so initialize (re-init) selector
jQuery(".selector").fancybox();
};
相关文章:
- Fancybox是否将Click事件静音
- ng init中的表达式无法使用ng repeat
- 需要帮助谷歌地图方向面板在FancyBox中显示
- 嵌套到另一个函数中的Fancybox函数;不起作用
- 如何在用户按下F5键或单击浏览器时显示自定义的fancybox's后退/关闭按钮
- 动态加载fancybox并将其连接
- 当有许多形式时,Fancybox脚本不起作用
- AngularJS ng-init does not work
- Facebook FB.init”;访问被拒绝”;在Internet Explorer 11中
- Modify fancybox html
- 将HTML5模板转换为流星.js,关于js init的问题
- 当页面包含指向一个图像的多个链接时,fancyBox会复制缩略图辅助图像
- 如何通过点击按钮关闭Fancybox
- 在init function()中调用getElementById(“..”),而不是想用它做点什么的函数
- Fancybox iFrame not showing up
- JavaScript模块模式-如何在使用对象/函数之前激发构造函数/init函数
- jquery fancybox+angularJS:fancybox按钮动作问题
- 为什么我不能在FancyBox中使用javascript变量
- Fancybox inline html
- 将脚本附加到头部后触发$.fancybox.init()