2013-03-26 40 views
0

我在我的网页上有几个jQuery FancyBoxes。他们通过一些Ajax将页面放到页面上,这些Ajax也会将其他内容带入页面,例如按钮等。但是,由于某些原因,当我打开一个窗口的fancybox,我,直到我重新加载它让我的网页上公布这些风格的错误:jQuery 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方法运行起来。任何人都知道解决方法或解决方案吗?

EDIT 2

我有种找到了一个临时的解决方法,但它只是看起来不正确。它确实解决了这个问题。 FancyBox关闭后,我将jQuery UI重新包含到其他一些jQuery的页面上。

+1

秩序的JS文件有问题.. – sasi 2013-03-26 13:18:29

+0

可能duplicate..http://stackoverflow.com/questions/7924222/uncaught-typeerror-object-object-object-has-no-method-fancybox – sasi 2013-03-26 13:19:15

+0

'button'不是一种方法,所以fancybox还没有被应用到那个元素上。 – 2013-03-26 13:19:16

回答

0

我发现了一个真正的解决方法,因为没有其他人提供任何真正的帮助。我的JS文件的顺序是不是的问题,那是ajax。出于某种原因,使用Ajax的jQuery灯箱插件似乎打破了很多代码。但是,通过将这些lightbox放入iframe中,当然也可以将我的JS和CSS标题添加到包含的页面中,这样我就可以毫无问题地使用它。


简单吗?

当使用jQuery的灯箱插件,使用iframe的,而不是阿贾克斯的时候你的页面依赖于其他的jQuery如jQuery UI。