当我尝试更新fancybox时,一切都开始了。我有版本1.3或其他东西,我需要一些较新版本的功能,所以我决定更新。我下载了它,替换了js文件和css,但这里变得奇怪了。当我尝试打开一个花哨的盒子时,什么都没有,绝对没有。
我已将其设置为触发课程.fancybox
:
jQuery(document).ready(function(){
jQuery(".fancybox").click(function() {
// If i uncomment the line below, it works as expected (i see the alert on click)
//alert('opening fancybox');
});
jQuery(".fancybox").fancybox();
});
如果我运行jQuery.fancybox
我得到一个函数,所以它实际上是被加载的,它只是因为某种原因不想打开。
我尝试检查fancybox元素是否存在(#fancybox-frame
),但它不存在。它可能会在触发fancybox时加载,但我没有理由说明为什么它会在页面加载时创建元素。
如果你想测试一下我的行动:http://goo.gl/erS2e
尝试页面顶部的链接,它应该打开一个带有google.com iframed的fancybox。没有!甚至在控制台中都没有任何错误。
那么,有什么想法吗?
修改
随机玩$ .live()认为它可能与它有关,我发现它实际上有效,如果我在元素的鼠标悬停上绑定fancybox。这是非常奇怪的,fancybox在页面加载后附加了,所以我不需要这样做。
这对我有用:
jQuery('.justwork').live('mousedown', function() {
jQuery(this).fancybox();
});
虽然我现在必须修改代码。我希望这可以帮助我避免遇到麻烦,这肯定不好玩。