Як подружити jQuery та MooTools?

Мета статті: добитися сумісного використання бібліотек jQuery та MooTools, щоб працювати з ними в одному проекті.

Як відомо, jQuery «огортається» в функцію $(), але цю ж функцію полюбляють використовувати й інші відомі JavaScript фреймворки, зокрема й MooTools. Про те цей факт не означає, що дані фреймворки не можуть працювати разом.

З боку jQuery «конфліктність» вирішується дуже просто.

Розробники jQuery передбачили цю ситуацію і при спільному використанні бібліотек рекомендують використовувати функцію noConflict(); одразу ж після підключення інших бібліотек:

<script type="text/javascript" src="js/mootools.js"></script>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript">
// викликаємо цю функцію, щоб передати
// контроль над змінною $ MooTools,
// тобто забороняємо бібліотеці jQuery використання $:
jQuery.noConflict();
// використовуємо jQuery через jQuery(...)
jQuery("div p").hide();
// і далі для MooTools сміло використовуйте $(...)
$("div p").set('class', 'active');
</script>

Після виклику jQuery.noConflict(); знак долара буде звільнений для MooTools (чи іншої бібліотеки). Правда, тепер ви зможете здійснити доступ до jQuery або через змінну «jQuery», тобто замість знаку долара ($) використовуйте функцію jQuery:

jQuery("#myId"); // еквівалентно $("#myId");

Або ж «обгорнувши» jQuery код в анонімну функцію

(function ($) {
// всередині цього блоку
// $ відноситься до jQuery
})(jQuery);

Додатково є й інша можливість.  Якщо ви хочете не втрачати вигоду від короткого імені або бажаєте вказати своє власне ім’я, наприклад, jq, $j, то можете прописати щось подібне до цього:

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

І далі всюди для jQuery коду використовується $j.

Джерело:

Категорія: Для початку. Теґи: , , , , . Ви можете слідкувати за коментуванням цієї статті за допомогою RSS 2.0. Ви можете залишити коментар, або надіслати трекбек з вашого сайту.

Коментарів: 2 до “Як подружити jQuery та MooTools?”

  1. ТарасNo Gravatar написав (ла):

    Дякую,шукав рішення,спасибі ще раз

  2. СергійNo Gravatar написав (ла):

    Щиро дякую. З ранку намагався вирішити проблему. Лише тут знайшов (заодно ще й дещо зрозумів). Дякую

Залишити коментар

XHTML: Ви можете використовувати ці теґи: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

 
оформление в собственность земельного участка . скангель