А что если для вашего сайта потребуется какой-нибудь другой фреймворк одновременно с библиотекой jQuery?
jQuery и другие фреймворки JavaScript
Кроме jQuery существует множество других популярных JavaScript фреймворков: Angular, Backbone, Ember, Knockout и т.д.
При этом, как вы уже знаете, jQuery использует знак доллара ($) как псевдоним для jQuery.
А что если другой JavaScript фреймворк также использует знак $ как свой псевдоним?
Если два разных фреймворка используют один и тот же псевдоним, то один из них может перестать работать.
Однако, разработчики библиотеки jQuery об этом подумали и создали метод noConflict().
jQuery метод noConflict()
Метод noConflict() освобождает идентификатор псевдонима $, таким образом другие скрипты получают возможность свободно его использовать.
При этом, вы, конечно, можете для обращения к библиотеке использовать вместо псевдонима ее полное имя, т.е. jQuery:
$.noConflict();
jQuery(document).ready(function(){
jQuery("button").click(function(){
jQuery("p").text("jQuery работает!");
});
});
Также, очень просто создать свой собственный псевдоним. Метод noConflict() возвращает ссылку на jQuery, которую можно сохранить в переменную для дальнейшего использования. Например:
var jq = $.noConflict();
jq(document).ready(function(){
jq("button").click(function(){
jq("p").text("jQuery работает!");
});
});
Если у вас есть блок jQuery кода, в котором используется псевдоним $, и вам не хочется весь его переписывать, то вы можете передать знак $ в качестве параметра в метод ready. Это позволит вам внутри этой функции иметь доступ к jQuery при помощи псевдонима $, вне же этой функции вам все же придется использовать слово "jQuery":
$.noConflict();
jQuery(document).ready(function($){
$("button").click(function(){
$("p").text("jQuery работает!");
});
});