Предупреждение конфликтов
Освобождает переменную $, чтобы избежать конфликтов имен. Метод имеет один вариант использования:
removeAll — необязательный параметр типа boolean, при значении true функция освободит все имена переменныых, занятые библиотекой jQuery. По умолчанию, равен false.
Многие другие javascript библиотеки, так же как и jQuery используют $ как имя переменной или функции. Однако, в случае jQuery, $ является синонимом (алиасом) идентификатора jQuery. Поэтому, при освобождении имени $ с помощью jQuery.noConflict() мы не теряем функциональности библиотеки jQuery, посколько можем использовать вместо него jQuery.
<script type="text/javascript" src="other_lib.js"></script> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> jQuery.noConflict(); // Далее может следовать код с использованием $ других библиотек. </script>
К сожалению, отключение идентификатора $ может привести к неправильной работе некоторых плагинов jQuery. Для этого случая существует следующий трюк:
jQuery.noConflict(); (function($){ // здесь $ будет действовать как алиас jQuery })(jQuery); // здесь $ будет доступен для других библиотек
То есть, мы можем вернуть алиас $ для jQuery локально — для кода, находящегося внутри функции, заданной указанным образом. Этот трюк можно использовать с методом .ready():
jQuery.noConflict(); jQuery(document).ready(function($) { // здесь $ будет действовать как алиас jQuery }); // здесь $ будет доступен для других библиотек