jQuery.noConflict


« Обратно на страницу Ядро jQuery

jQuery.noConflict( )

Используйте эту функцию для того, чтобы передать контроль над переменной $ библиотеке, которая изначально объявила её. Это дает возможность убедиться в том, что jQuery не будет конфликтовать с объектом $ какой-либо другой библиотеки.

Используя эту функцию, Вы сможете получить доступ к jQuery только лишь используя переменную ‘jQuery’. Например, там где Вы раньше указывали $(«div p»), теперь должны будете указывать jQuery(«div p»).

ПРИМЕЧАНИЕ: эта функция должна быть вызвана после подключения Javascript-файла jQuery, но ПЕРЕД подключением конфликтующих библиотек. noConflict можно вызывать в конце файла jQuery.js для того, чтобы глобально отключить псевдоним $(). jQuery.noConflict возвращает ссылку на jQuery, таким образом, она может использоваться для переопределения псевдонима $() объекта jQuery.

Более детально смотрите в разделе Использование jQuery совместно с другими библиотеками.


Примеры:

Переназначает исходный объект, который ссылается на $, обратно к $.
jQuery.noConflict();
// Do something with jQuery
jQuery("div p").hide();
// Do something with another library's $()
$("content").style.display = 'none';

Возвращает псевдоним $, потом создает и выполняет функцию для объявления $ как псевдонима jQuery внутри функции.  Первоначальный объект $ недоступен внутри функции.  Данный метод работает для большинства дополнений, которые не полагаются на какие-либо другие библиотеки.

jQuery.noConflict();
(function($) {
  $(function() {
    // more code using $ as alias to jQuery
  });
})(jQuery);
// other code using $ as an alias to the other library

Вы можете связать jQuery.noConflict() с сокращением ready для уменьшения количества кода.

jQuery.noConflict()(function(){
    // code using jQuery
});
// other code using $ as an alias to the other library

Создание другого псевдонима вместо такового в jQuery, который дальше используется в скрипте.

var j = jQuery.noConflict();
// Do something with jQuery
j("div p").hide();
// Do something with another library's $()
$("content").style.display = 'none';
Name Type

jQuery.noConflict( extreme )

Возвращает контроль над переменными $ и jQuery их первоначальным владельцам. ИСПОЛЬЗУЙТЕ С ОСТОРОЖНОСТЬЮ. Это более экстремальный вид простого метода NoConflict, он приведет к отмене всего, что было оглашено jQuery. Используйте эту функцию в условиях повышенного риска, когда вы хотите встроить jQuery в какую-либо очень конфликтную среду.

ПРИМЕЧАНИЕ: скорее всего, после вызова этой функции дополнения работать не будут.

Аргументы:

extreme Логическое значение

Установите значение TRUE для отмены всех переменных jQuery.

Примеры:
Полностью переносит 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();
Name Type