русский  עברית
tadam logo
Нашли ошибку в тексте?
Отметьте её курсором и нажмите
Ctrl + Enter
Проверка орфографии Xhtml.co.il
Orphus system
Рассылка
Присоединитесь к списку рассылки для получения последних новостей

Введите адрес электронной почты:

jQuery.noConflict( [ удалитьВсе] )

Возвращает: Объект
Описание: Отказывается от 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 в новое пространство имен в другом объекте.
var dom = {};
dom.query = jQuery.noConflict(true);
Результат выполнения кода выше:
// Do something with the new jQuery
dom.query("div p").hide();
// Do something with another library's $()
$("content").style.display = 'none';
// Do something with another version of jQuery
jQuery("div > p").hide();
Была ли эта информация полезной?
   

Комментарии