2013-03-26 4 views
0

У меня есть пара jQuery FancyBoxes на моей веб-странице. Они попадают на страницу через какой-то ajax, который также добавляет другие вещи на страницу, такие как кнопки и т. Д. Но, по какой-то причине, после того, как я открываю окно FancyBox, я получаю эти ошибки стиля на моей странице, пока не будет перегружен:jQuery FancyBox Messing up Buttons

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(); 

EDIT

Я определенно сузили его к конфликту JQuery UI и FancyBox. После открытия FancyBox я больше не могу использовать jQuery UI-методы для работы. Кто-нибудь знает обходное решение или хорошее твердое исправление для этого?

EDIT 2

я вроде нашел временный обходной путь, но он просто не кажется правильным. Однако он исправляет проблему. После закрытия FancyBox я снова включаю jQuery UI на страницу с помощью другого jQuery.

+1

Порядок JS файлов проблема .. – sasi

+0

Возможные duplicate..http: //stackoverflow.com/questions/7924222/uncaught-typeerror-object-object-object-has-no-method-fancybox – sasi

+0

'button' не является методом, поэтому fancybox не применяется к этому элементу. –

ответ

0

Я нашел реальный способ об ошибке, поскольку никто другой не предлагал реальной помощи. Порядок моих JS-файлов был не проблема, это был ajax. По какой-то причине плагины jQuery light box, которые используют ajax, похоже, ломают много кода. Но, сделав эти лайтбоксы в iframe вместо этого, и, конечно, добавив мои заголовки JS и CSS на страницы, которые я включил, я получил его без проблем.


Простой?

При использовании плагинов jQuery Light Box используйте iframes вместо ajax, когда ваша страница зависит от другого jQuery, такого как пользовательский интерфейс jQuery.