jQuery — метод noConflict()


Что делать, если вы хотите использовать другие фреймворки на своих страницах, но при этом использовать jQuery?


jQuery и другие JavaScript-фреймворки

Как ты уже знаешь; jQuery использует $знак как ярлык для jQuery.

Есть много других популярных фреймворков JavaScript, таких как: Angular, Backbone, Ember, Knockout и другие.

Что, если другие фреймворки JavaScript также используют знак $ в качестве ярлыка?

Если два разных фреймворка используют один и тот же ярлык, один из них может перестать работать.

Команда jQuery уже подумала об этом и реализовала этот noConflict()метод.


Метод jQuery noConflict()

Метод noConflict()освобождает идентификатор ярлыка $, чтобы его могли использовать другие скрипты.

Конечно, вы все еще можете использовать jQuery, просто написав полное имя вместо ярлыка:

Пример

$.noConflict();
jQuery(document).ready(function(){
  jQuery("button").click(function(){
    jQuery("p").text("jQuery is still working!");
  });
});

Вы также можете очень легко создать свой собственный ярлык. Метод noConflict()возвращает ссылку на jQuery, которую вы можете сохранить в переменной для последующего использования. Вот пример:

Пример

var jq = $.noConflict();
jq(document).ready(function(){
  jq("button").click(function(){
    jq("p").text("jQuery is still working!");
  });
});

Если у вас есть блок кода jQuery, который использует $ярлык, и вы не хотите все это менять, вы можете передать $вход в качестве параметра готовому методу. Это позволяет вам получить доступ к jQuery с помощью $внутри этой функции - вне ее вам придется использовать «jQuery»:

Пример

$.noConflict();
jQuery(document).ready(function($){
  $("button").click(function(){
    $("p").text("jQuery is still working!");
  });
});

jQuery Прочее Справочник

Полный обзор всех методов jQuery Misc см. в нашем справочнике jQuery Misc .