2012-05-25 2 views
0

У меня есть скроллер для миниатюр, управляемый плагином jquery, все работает отлично. плагин, который я пытаюсь интегрировать работы идеально по отдельности, но когда я пытаюсь добавить на моей фактической разметке я проверить его с Firebug, и я получаю эту странную ошибку: Uncaught TypeError: Cannot call method 'extend' of undefinedстранная ошибка javascript

Я не могу размещать всю разметку на jsfiddle или здесь, поэтому я предпочитаю дать вам ссылку на эту ошибку, может быть, вы можете помочь мне понять, что происходит. Это очень напряженный.

Here - это моя попытка.

+0

Я не могу найти ошибку на моем Firebug FF12. – undefined

+0

Нажмите F12 и прочитайте консольное сообщение. У вас есть ошибка на 'simpleContentSearch.js' строке 30. –

+0

Похоже на конфликт jQuery. Попробуйте 'jQuery.extend' вместо' $ .extend' – Jashwant

ответ

2

Вы используете jQuery в так называемом режиме «без конфликтов». Это в основном сводится к тому, что функция $ не используется в качестве точки входа. Если ваш модуль не запрограммирован с учетом этого, вы увидите такие сбои, как этот.

Либо: 1) не использовать JQuery в не-конфликтов режиме

Если вы не планируете использовать другие библиотеки JavaScript (и действительно, один достаточно, уверяю вас), то вы прекрасно принимая этот маршрут,

Просто удалите этот код

* jQuery.noConflict() for using the plugin along with other libraries. 
    You can remove it if you won't use other libraries (e.g. prototype, scriptaculous etc.) or 
    if you include jQuery before other libraries in yourdocument's head tag. 
    [more info: http://docs.jquery.com/Using_jQuery_with_Other_Libraries] */ 
jQuery.noConflict(); 

... и проверить документацию, комментировать ссылки для более глубокого понимания: http://docs.jquery.com/Using_jQuery_with_Other_Libraries

Никогда не бойтесь читать документы!

Или: 2) Вилка и исправить исходный код модуля(если он находится на GitHub или другого хранилища с открытым исходным кодом)

Вам нужно переписать модуль для использования более безопасная точка входа jQuery, вместо того, чтобы предполагать, что $ доступен (как в настоящее время). Вы также можете просто скорректировать свою копию, но если вы выполняете эту работу, вы можете также разместить ее в месте, где кому-то еще может быть полезно - в конце концов, вы получаете выгоду от работы других (jQuery, модуль , и т. д.): D