Приднестровская поддержка XOOPS
Как вы уже знаете, функция jQuery() имеет псевдоним $(). В некоторых других библиотеках (например, в Prototype) также объявлена функция $(). Если использовать такие библиотеки одновременно, то возникнет конфликт имен. Библиотека jQuery позволяет избежать этого конфликта. Для этого необходимо вначале подключить конфликтную библиотеку, а затем библиотеку jQuery. Сразу после подключения следует вызвать функцию noConf lict () .
jQuery.noConflict();
В этом случае библиотека jQuery освободит функцию $ () для использования другой библиотекой.
Если результат выполнения функции noConflict() присвоить какой-либо переменной, то ее имя можно использовать вместо функции $() (листинг 1.2).
Листинг 1.2. Обработка ситуации конфликта имен
<html>
<head>
<title>Обработка конфликтных ситуаций</title>
<meta http-equiv="Content-Type" content="text/html;
charset=utf-8">
<script type="text/javascript">
function $() {
alert("Функция $() из другой библиотеки");
}
</script>
<script src="jquery.js" type="text/javascript"></script>
<script type="text/javascript">
var jq = jQuery.noConflict();
</script>
</head>
<body>
<div id="div1"></div>
<script type= "text/javascript">
$(); // Вызов функции из другой библиотеки
jq("#div1").html("Пример использования библиотеки jQuery");
</script>
</body>
</html>
В этом примере мы присвоили результат выполнения функции noConflict() переменной jq. Теперь можно использовать это имя в качестве названия функции.
jq("#div1").html ("Пример использования библиотеки jQuery");
Если результат нигде не сохранять, то обращение выглядит следующим образом.
jQuery("#div1").html("Примериспользования библиотеки jQuery");
Использовать функцию $() в данном случае уже нельзя, так как будет вызвана функция из другой библиотеки. Если же необходимо использовать функцию $() применительно к библиотеке jQuery, то можно поступить следующим образом.
(function($) {
$("#div1").html("Пример использования библиотеки jQuery");
}) (jQuery);
Этим способом обычно пользуются при создании расширений (плагинов). Можно также воспользоваться следующим кодом.
jQuery(function($) {
$("#div1").html("Пример использования библиотеки jQuery");
});
Отправитель | Нити |
---|
2 пользователь(ей) активно (2 пользователь(ей) просматривают Инструкции)
Участников: 0 Гостей: 2 далее... |