0

我的网页上有几个 jQuery FancyBoxes。它们通过一些 ajax 被放到页面上,这些 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');
4

1 回答 1

0

我找到了解决该错误的真正方法,因为没有其他人提供任何真正的帮助。我的 JS 文件的顺序不是问题,它是 ajax。出于某种原因,使用 ajax 的 jQuery 灯箱插件似乎会破坏很多代码。但是,通过将这些灯箱改为 iframe,当然,将我的 JS 和 CSS 标题添加到我所包含的页面中,我让它毫无问题地工作。


简单的?

使用 jQuery 灯箱插件时,当您的页面依赖其他 jQuery(例如 jQuery UI)时,请使用 iframe 而不是 ajax。

于 2013-03-28T14:29:36.390 回答