Конфликт 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, время: 03:27. |