Сводка Способов Ссылки на Функцию jQuery
Рассмотрим всевозможные способы, которыми можно сослаться на функцию jQuery, когда наличие другой библиотеки создает конфликт по использованию переменной $
:
Создайте Новый Псевдоним
Метод jQuery.noConflict()
возвращает ссылку на функцию jQuery, таким образом, можно захватить ее в любую переменную, которую Вы хотели бы:
<script src="prototype.js"></script>
<script src="jquery.js"></script>
<script>
// Отдать $ обратно prototype.js;
// создать новый псевдоним для jQuery.
var $jq = jQuery.noConflict();
</script>
Используйте Немедленно Выполняемое Функциональное Выражение
Можно продолжать использовать стандартный $
, обертывая Ваш код в сразу вызываемое функциональное выражение; это - также типовая конструкция для авторской разработки плагина jQuery, где автор не может знать, будет ли другая библиотека использовать $
.
<!-- Используйте $ внутри
немедленно вызываемого функционального выражения. -->
<script src="prototype.js"></script>
<script src="jquery.js"></script>
<script>
jQuery.noConflict();
(function( $ ) {
// Здесь Ваш код jQuery, использующий $
})( jQuery );
</script>
Отметьте, что, если Вы используете этот метод, Вы не будете в состоянии использовать методы prototype.js в немедленно вызванной функции, которые ожидают, что $
является $
библиотеки prototype.js.
Используйте Параметр, Который Передается Функции jQuery( document ).ready()
<script src="jquery.js"></script>
<script src="prototype.js"></script>
<script>
jQuery(document).ready(function( $ ) {
// Ваш jQuery код здесь,
// использующий $ для ссылки на jQuery.
});
</script>
Или использование более краткого синтаксиса для функции готовности DOM:
<script src="jquery.js"></script>
<script src="prototype.js"></script>
<script>
jQuery(function($){
// Здесь Ваш код jQuery, использующий $
});
</script>
Далее: Как я выбираю элементы, когда у меня уже есть элемент DOM?