Нет необходимости менять (jQuery)
на (jQuery.noConflict())
до тех пор, пока jQuery.noConflict()
не вызывается перед этой точкой (и после включения библиотеки JQuery).
Как вы знаете, когда вы используете jQuery в режиме без конфликтов, вы должны использовать jQuery
вместо $
.
Но вы можете использовать $
вместо jQuery
в коде помещенной внутри сразу вызывается функция выражения (IIFE), как это:
(function($) {
// Code here can use $, instead of jQuery.
})(jQuery);
IIFE где вы определяете анонимную функцию и немедленно вызвать его. В приведенном выше коде объект jQuery
передается как аргумент анонимной функции, и поскольку параметр имеет имя $
, $
представляет объект jQuery
внутри функции.
Также jQuery
объекта передается в качестве первого параметра функции обратного вызова для документа готовых событий, так что вы можете сделать следующее:
jQuery(function($) {
// Code here can use $, instead of jQuery.
});
который так же, как:
jQuery(document).ready(function($) {
// Code here can use $, instead of jQuery.
});
Просто имейте в виду, что переменные, объявленные var
внутри IIFE, не являются глобальными. Это часто бывает хорошо, и это еще одна причина для использования IIFE. Если вы хотите объявить глобальную переменную внутри IIFE, вы должны называть ее как свойство объекта window
.
<script type="text/javascript">
var a = 1; // This is a global variable.
(function($) {
var b = 2; // This is NOT a global variable.
window.c = 3; // This is a global variable.
})(jQuery);
<script>