Конфликт jQuery c Prototype Framework
Стоит у меня на сайте древовидное меню jquery.treeview, все работает:
Вот так оно подключается: <script type="text/javascript" src="jquery.min.js"></script> <script type="text/javascript" src="lib/jquery.cookie.js"></script> <script type="text/javascript" src="jquery.treeview.js"></script> <script type="text/javascript" src="demo.js"></script> Решил поставить скрипт для красивого показа картинок - известный Litebox. Читаю описание, дописываю значит строчки: <script type="text/javascript" src="js/prototype.js"></script> <script type="text/javascript" src="js/scriptaculous.js?load=effects,builder"></script> <script type="text/javascript" src="js/lightbox.js"></script> Лайтбокс при этом работает нормально, а вот древовидное меню перестает работать (полностью раскрывается), а файрфокс выдает ошибку: Ошибка: $("#navigation") is null Источник: demo.js Строка: 4 В этом demo.js всего лишь одна функция, которая собсна и запускает меню: $(document).ready(function(){ // first example $("#navigation").treeview({ collapsed: true, animated:"normal", unique: true, persist: "location" }); // second example $("#browser").treeview({ animated:"normal", persist: "cookie" }); }); Если подключаю Лайтбокс ПЕРЕД древовидным меню - то меню работает, а вот Лайтбокс нет! Браузер пишет следующее: Ошибка: element.dispatchEvent is not a function Источник: /js/prototype.js Строка: 5733 Глубины моего понимания яваскрипта совершенно не хватает, чтобы понять происходящее, не вижу связи между ошибками... Понимаю только, что какой-то конфликт. Может кто поможет? |
На фига вам вообще прототайп то понадобился, неужто лайт бокса на jquery не нашли ?
И прототайп и jquery используют функцию $() отсюда и проблема возможный вариант решения Используйте к примеру jQuery.noConflict(); и когда вам нужен jQuery обращайтесь не $ , а $jQuery в том числе и в demo.js и в плагинах jquery. Пример продвинутого (противоконфликтного :) ) demo.js jQuery(function($) { $("#navigation").treeview({ collapsed: true, animated:"normal", unique: true, persist: "location" }); // second example $("#browser").treeview({ animated:"normal", persist: "cookie" }); }); |
|
Цитата:
Цитата:
Цитата:
|
Часовой пояс GMT +3, время: 04:28. |