Описание: Отказывается от jQuery контроля переменной $.
Аргументы
jQuery.noConflict( [ удалитьВсе ] )
Добавлена в версию: 1.0
удалитьВсе
Логическое значение указывающее на то, чтобы удалить все jQuery переменные глобальной области видимости (в том числе и сам jQuery)
Многие библиотеки JavaScript используют $
как функцию или имя переменной,
как это делает jQuery.
В случае jQuery, $ это просто псевдоним для jQuery,
поэтому все функции доступны без использования $.
Если нам потребуется использовать другую библиотеку JavaScript рядом с jQuery,
мы можем вернуть контроль над $ обратно в другую библиотеку
с вызовом $.noConflict():
<script type="text/javascript" src="other_lib.js"></script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$.noConflict();
// Code that uses other library's $ can follow here.
</script>
Этот метод особенно эффективен в сочетании со способностью
.ready()
быть псевдонимом объекта jQuery, а в рамках обратного вызова в
.ready()
мы можем использовать
$ не опасаясь более поздних конфликтов:<script type="text/javascript" src="other_lib.js"></script> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> $.noConflict(); jQuery(document).ready(function($) { // Code that uses jQuery's $ can follow here. }); // Code that uses other library's $ can follow here. </script>
Если необходимо, мы можем освободить имя
jQuery
путем передачи true как аргумент в метод.
Это необходимо в редких случаях, и если мы должны сделать это
(например, если нам нужно использовать несколько версий библиотеки
jQuery на той же странице), мы должны учитывать, что большинство плагинов расчитывают на присутствие переменной jQuery
и могут работать неправильно в этой ситуации.Примеры
Пример 1
Картографирует оригинальный объект, который ссылался на$ к $.
jQuery.noConflict(); // Do something with jQuery jQuery("div p").hide(); // Do something with another library's $() $("content").style.display = 'none';
Пример 2
Возвращает псевдоним$, а затем создает и выполняет функцию
предоставления псевдонима $ в области видимости функции.
Внутри функции оригинальный объект $ недоступен.
Это хорошо работает для большинства плагинов, которые не опираются на любые другие библиотеки.
jQuery.noConflict();
(function($) {
$(function() {
// more code using $ as alias to jQuery
});
})(jQuery);
// other code using $ as an alias to the other library
Пример 3
Вы можете присоединитьjQuery.noConflict()
с готовым сокращением для компактного кода.
jQuery.noConflict()(function(){
// code using jQuery
});
// other code using $ as an alias to the other library
Пример 4
Создает различные псевдонимы вместо jQuery для использования в остальной части скрипта.var j = jQuery.noConflict(); // Do something with jQuery j("div p").hide(); // Do something with another library's $() $("content").style.display = 'none';
Пример 5
Полностью перемещяет jQuery в новое пространство имен в другом объекте.Была ли эта информация полезной?

