0

WebページにjQueryFancyBoxがいくつかあります。それらは、ボタンなどの他のものもページにもたらすいくつかの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();

編集

私は間違いなくそれをjQueryUIとFancyBoxの競合に絞り込みました。FancyBoxを開くと、jQueryUIメソッドを機能させることができなくなります。誰かがこれに対する回避策または良い確実な修正を知っていますか?

編集2

一時的な回避策を見つけましたが、それは正しくないようです。ただし、問題は修正されます。FancyBoxを閉じた後、jQueryUIを他のjQueryとともにページに再インクルードします。

$.getScript('/js/jquery-ui.js');
4

1 に答える 1

0

他の誰も本当の助けを提供しなかったので、私はエラーを回避する本当の方法を見つけました。私のJSファイルの順序は問題ではなく、ajaxでした。何らかの理由で、ajaxを使用するjQueryライトボックスプラグインは多くのコードを壊しているようです。しかし、代わりにこれらのライトボックスをiframeにし、もちろんJSヘッダーとCSSヘッダーを含めたページに追加することで、問題なく動作するようになりました。


単純?

jQueryライトボックスプラグインを使用する場合、ページがjQuery UIなどの他のjQueryに依存している場合は、ajaxの代わりにiframeを使用してください。

于 2013-03-28T14:29:36.390 に答える