jQuery noconflict не працює?

У мене, здається, є проблеми з цим, і я не можу зрозуміти, який компонент викликає це навіть після багато тестування.

Так що я зробив, скористайся

jQuery.noConflict();  
jQuery(document).ready(function() {  
   jQuery("a").click(function() {  
     alert("Hello world!");  
   });  
 });  

Я також замінив всі $ з "jQuery". Однак, поки помилка "$ is not a function" зникає, багато коду все ще не працює.

Here is one working example that doesn't work on the site: http://jsfiddle.net/pufamuf/Q3YpU/3/

Коли ви дивитесь на мій сайт, "активна" частина, здається, не працює, навіть якщо вона однаковий код

Link to Js file: Link

І, нарешті, вся ця частина коду не працює:

jQuery('.scroll-pane').jScrollPane();
jQuery("#myTable").tablesorter({  
    headers: {  
        0: { 
            sorter: false 
        }, 
        8: { 
            sorter: false 
        } 
    },
        widgets: ['zebra']


}); 

Хоча це не викидає будь-яких помилок, користувальницький прокручувач смуги не працює, а також плагіна сортування таблиць.

Хто-небудь знає, як я можу це виправити? Дякую! :)

1
Ні, це не WordPress.
додано Автор pufAmuf, джерело
Це в WordPress?
додано Автор Abe Miessler, джерело

1 Відповіді

Ваші плагіни не працюють, оскільки вони також використовують $ . Так що існує конфлікт, і вони не виконуються. Ви можете замінити ті, що мають jQuery , або, у файлі плагінів, додати jQuery.noConflict ();

Кожного разу, коли викликається код jQuery, він повинен виконати функцію noConflict() . Ви не можете зберегти цю функцію в такій змінній, як $ JS . Спробуйте замість цього використовувати JS .

1
додано
Ні, якщо я не помиляюсь, то можете залишити це. Я думаю, що проблема полягає в плагіні сортування таблиць, що ускладнює використання $ як змінної та/або функції
додано Автор Joey, джерело
Які інші бібліотеки JS ви використовуєте окрім jQuery?
додано Автор Joey, джерело
Крім того, в нижній частині сторінки вашого покажчика ви також виконуєте: var $ JS = jQuery.noConflict (); , коли ви все ще використовуєте $ .
додано Автор Joey, джерело
Я оновив свою відповідь. Якщо ви використовуєте лише jQuery, то не слід причин взагалі викликати noConflict() . Спробуйте змінити $ JS на JS . Я вважаю використання $ для jQuery після виклику noConflict() , вимикає деякі помилки
додано Автор Joey, джерело
додано Автор Joey, джерело
Завдяки Джоу, я спробую це і опублікую результати :)!
додано Автор pufAmuf, джерело
Хммм, ви думаєте, що для мене краще просто убити будь-який плагін, що викликає цю помилку? Прокручування не працює, хоча він використовує лише 1 $, який я замінив, і я також замінив всі $ на сортувальник таблиці, що змушує мене думати, що може бути простіше просто знайти джерело проблеми і замінити його щось ще.
додано Автор pufAmuf, джерело
Спасибі, я виправив це. Я вважаю це надзвичайно дивним, тому що зараз я виключив більшість файлів на головній сторінці: Див джерело і подивіться на цей автономний файл, який завантажує ті самі бібліотеки, як ті, які все ще активні на головній сторінці . Наскільки я знаю, я не використовую нічого іншого, окрім стандартного jQuery 1.6. Я навіть не використовую інтерфейс Jquery.
додано Автор pufAmuf, джерело
Дякуємо за відгук про $ js. Я змінив це, однак, як і раніше, думаю, що в нас є проблема, і я активно знімаю сайт, щоб побачити, що це таке. У звичайному стані весь код працює, крім кнопок "сьогодні, завтра, десь інший день", спеціальної смуги прокрутки та таблиці. Вони працюють у всіх події 2.html
додано Автор pufAmuf, джерело
Дуже дякую за вашу допомогу! Без вас я б не потрапив туди. Проблема полягала в тому, що вміст завантажувався динамічно, і код, який виконував панель прокрутки та таблиць, був виконаний перед завантаженням вмісту. Таким чином я взяв цей код і поставив його в whole-events.html і це працює зараз! Дякую!
додано Автор pufAmuf, джерело