Prototype и jQuery используем одновременно

prototype-jquery

Бывает необходимо в проект выполненный с использованием Prototype добавить фичу которая уже сдалена на jQuery в виде плагина, изобретать велосипед нет ни желания ни времени. Но если просто подключить jQuery то идет конфликт jQuery и Prototype .

Необходимо включить режим noConflict у jQuery.

Нужно сделать так.

<script type=»text/javascript»> $j = jQuery.noConflict();</script>

И везде для Prototype продолжать применяется знак $, а для jQuery — $j. После этого достаточно в файле плагина все $ заменить на $j, подключить jQuery к проекту — и все заработало как того и хотелось.

вот пример html кода

<html>
<head>
<script src=»prototype.js»></script>
<script src=»jquery.js»></script>
<script>
var $j = jQuery.noConflict();
// используем jQuery через $j(…)
$j(document).ready(function(){
$j(«div»).hide();
});
// юзаем  Prototype чеерз $(…), соответственно.
$(‘someid’).hide();
</script>
</head>
<body></body>
</html>
или
<html>
<head>
<script src=»prototype.js»></script>
<script src=»jquery.js»></script>
<script>
jQuery.noConflict();
//используем  jQuery через jQuery(…).
jQuery(document).ready(function(){
jQuery(«div»).hide();
});
// используем  Prototype чеерз $(…), соответственно.
$(‘someid’).hide();
</script>
</head>
<body></body>
</html>
или же вот так
<html>
<head>
<script src=»prototype.js»></script>
<script src=»jquery.js»></script>
<script>
jQuery.noConflict();
//оборачиваем  $ для  jQuery в область видимости  jQuery(document).ready
jQuery(document).ready(function($){
// используем jQuery через  $
$(«div»).hide();
});
// Prototype через $(…).
$(‘someid’).hide();
</script>
</head>
<body></body>
</html>

Тэги: ,

Такие окна Вы точно не разобьете!
  • jQuery SELECT (jquery-asmselect)
  • jQuery отслеживаем ввод символа в input (Enter, tab)
  • WordPress подключение JQuery
  • jQuery png Fix
  • Печать картинки на странице через js
  • jQuery ajax в IE7
  • jQuery cookie проще некуда
  • jQuery watermark input field
  • jQuery округлые углы
  • WordPress term_description используем html
  • WWW в URL нужен или нет используем .htaccess
  • jQuery древовидное меню
  • 10 комментариев на “Prototype и jQuery используем одновременно”

    1. SergAntDnepr:

      Огромное СПАСИБО!!!

    2. Всегда пожалуйста!

    3. Ольга:

      Добрый день!
      У меня все осталось по-прежнему=(
      помогите пожалуйста
      Конфликт в jquery.js и скрипт поиска rokajaxsearch.js

    4. Ольга:

      но суть в том что я после того как меняю как вы говорите «все $ заменить на $j» у меня не работает jquery.js
      =(((
      может я зменяю что то что не надо заменять?

    5. saintist:

      в самом jquery.js ничего заменять ненужно

    6. saintist:

      добавил в статью примеры

    7. Василий:

      Не все работает например $j(\’#uslhide\’).toggle(600); не работает многократно, а $j(\’#uslhide\’).toggle(); работает

    8. Павел:

      Спасибо! Я действительно не учел момента что сам вызов jquery можно перезаписать $ на $j или любой другой по Вашему усмотрению!
      Конечно глубоко все понимаем что это не наша вина в том, что прототип вызывается с тем же параметром и в добавок мы подключаем еще jquery. Спасибо Автору за новаторство и очень хорошую смекалку!

      С Уважением Павел!

    9. html:

      Спасибо, заканало )

    10. Роман:

      Спасибо! Помогло.

    Оставить комментарий