Совместимость jQuery & Prototype

Совместимость jQuery & Prototype

Иногда необходимо одновременно использовать две мощные библиотеки - jQuery & Prototype. Как избежать проблем в синтаксе?

Я любю CMS SPIP. CMS SPIP любит jQuery. Я раньше любил Prototype, а теперь люблю jQuery.

Однако возникла необходимость одновременно использовать обе библиотекию При помощи jQuery я сделал симпатичную выпадающую менюшку с анимацией, а Prorotype нужен что бы подключить lightbox - замечательную штуку, которая увеличивает картинки в том же окне броузера но нажатию мышки. А проблема совместимости библиотек в том, что синтаксис у них очень похожий. Все дело в знаке $.

Мне очень сильно помогда статья jQuery – Javascript нового поколения в которой и описано решение данной проблемы. Но статья большая, что бы все не листать можно посмотреть тут.

Совместимость

Вместо знака доллара достаточно использовать функцию jQuery:

jQuery("#myid"); // Эквивалентно $("#myid");

Самой библиотеке jQuery можно запретить использование знака доллар:

<script src="prototype.js">
<script src="jquery.js">
<script>
jQuery.noConflict();
     
// Дальше используем jQuery через jQuery(...)
jQuery("#myid").hide();

// Используем Prototype через $(...)
$('myid').addClassName('active').show();
</script>

Сейчас я думаю, что написать сложный калькулятор ( не такой простой, как мой - расчет стоимости сайта, а с динамическим формированием формы и прочими вещами намного проще с помощью jQuery. А уж динамически изменять css и html и подавно.