Этот метод отключает использование $ в качестве переменной jQuery.

jQuery.noConflict( [ removeAll ] )

Появился в версии 1.0.

Аргументы:

  • removeAll — A Boolean indicating whether to remove all jQuery variables from the global scope (including jQuery itself).

Многие библиотеки 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();
  // Далее можно использовать $ другой библиотеки
</script>

Такой способ особенно эффективен в сочетании с методом .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($) {
    // Код jQuery с использованием $
  });
  // Код другой JavaScript-библиотеки
</script>

Если необходимо, можно освободить для использования и переменную jQuery, передав true в качестве аргумента методу noConflict. Это редко используется, и если такой способ используется (например, если необходимо подключить несколько версий jQuery на одной странице), нужно учитывать, что большинство плагинов предполагает наличие переменной jQuery и могут не работать при её отсутствии.

Примеры использования jQuery.noConflict()

Задача: Использовать переменную $ другой библиотеки.

jQuery.noConflict();
// Используем jQuery
jQuery("div p").hide();
// Используем $() другой библиотеки
$("content").style.display = 'none';

Задача: Использовать глобальную переменную $ другой библиотекой и локальную переменную библиотекой jQuery.

jQuery.noConflict();
(function($) {
  $(function() {
    // код jQuery с использованием локальной переменной $
  });
})(jQuery);
// код другой JavaScript-библиотеки с использованием глобальной переменной $

Пример: Вы можете вызвать метод ready сразу после jQuery.noConflict(), чтобы получить более компактный код.

jQuery.noConflict()(function(){
  // код jQuery
});
// код другой библиотеки с использованием $

Задача: Создать короткий псевдоним вместо переменной $.

var j = jQuery.noConflict();
// Используем новую переменную jQuery
j("div p").hide();
// Используем функцию $() другой библиотеки
$("content").style.display = 'none';

Задача: Переместить переменную jQuery в новое пространство имён другого объекта.

var dom = {};
dom.query = jQuery.noConflict(true);

Применение:

// Используем свойство объекта в качестве переменной jQuery
dom.query("div p").hide();
// Используем функцию $() другой библиотеки
$("content").style.display = 'none';
// Используем стандартную переменную jQuery
jQuery("div > p").hide();

 

Комментарии

Спасибо, помогли :)

мне помогло, спасибо. вот что я сделал

<script src="/js/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript" src="/js/jquery-ui.min.js"></script>
<script type="text/javascript" src="/js/jquery.spasticNav.js"></script>

<script type="text/javascript">
$.noConflict();
<script src="/js/jquery-1.4.3.min.js" type="text/javascript"></script>
<script src="js/jquery-ui-1.8.6.custom.min.js" type="text/javascript"></script>
</script> 

Лучше все таки писать - jQuery.noConflict(); - именно jQuery, а не $. И зачем подключать одновременно две разные версии библиотеки jQuery?

 спс=))) переделал, работает отлично. ступил насчет 2ой библиотеки=)))

<script src="/js/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript" src="/js/jquery-ui.min.js"></script>
<script type="text/javascript" src="/js/jquery.spasticNav.js"></script>

<script type="text/javascript">
jQuery.noConflict();
<script src="/assets/templates/taxi/js/jquery-1.4.3.min.js" type="text/javascript"></script>
</script>

 А почему вложенный скрипт в конце?

Есть вот такой код

 

<script type="text/javascript">
$.noConflict();
$(function () {
$('#datetimepicker1').datetimepicker({language: 'ru',minuteStepping:10,defaultDate:"09.01.2015",daysOfWeekDisabled:[0,6]});
$('#datetimepicker2').datetimepicker({language: 'ru'});
});
</script>

Он использует бублиотеку jquery-1.11.1.min.js

Так же на этой странице используется jquery-1.8.3.min.js который не дает мне использовать мой код который я написал выше.

Как исправить это дело?

 

Все это дело делается в adobe museЯ хочу туда вставить datapiker http://itchief.ru/lessons/bootstrap-3/113-bootstrap-3-datetimepicker

Добавить комментарий

Содержание этого поля будет показано только администраторам сайта.