我的网页上有几个jQuery FancyBox。他们通过一些ajax进入页面,这也会将其他东西带到页面上,如按钮等。但是,出于某种原因,在我打开FancyBox窗口后,我在页面上出现这些样式错误,直到我重新加载它:
Uncaught TypeError: Object [object Object] has no method 'button'
此按钮完全正常,直到我点击并打开FancyBox。这是我喜欢的盒子代码和我的按钮代码。
jQuery('.fancybox-media').fancybox({
fitToView: false,
width: '100%',
height: '100%',
autoSize: false,
closeClick: false,
openEffect: 'none',
closeEffect: 'none'
});
按钮:
$('.adminbutton').button();
修改
我肯定已将其缩小为jQuery UI和FancyBox冲突。在打开FancyBox之后,我再也无法让jQuery UI方法运行了。任何人都知道解决方法或一个很好的解决方案?
编辑2
我找到了一个临时的解决方法,但它似乎并不正确。它确实解决了这个问题。在关闭FancyBox之后,我将jQuery UI重新包含在页面上,并使用其他一些jQuery。
$.getScript('/js/jquery-ui.js');
答案 0 :(得分:0)
我找到了解决错误的真正方法,因为没有其他人提供任何真正的帮助。我的JS文件的顺序是不问题,它是ajax。出于某种原因,使用ajax的jQuery灯箱插件似乎打破了很多代码。但是,通过将这些灯箱改为iframe,当然还有我的JS和CSS标题添加到我所包含的页面中,我让它工作没有任何问题。
简单?
当使用jQuery Light Box插件时,当你的页面依赖于其他jQuery(如jQuery UI)时,请使用iframe而不是ajax。