На веб-странице с использованием jQUery 1.7.1 и jQUery-UI 1.8.18, если я выведу $ .ui в поле предупреждения, когда документ будет готов, я получу [объект объекта]. Однако при использовании Firefox, если я выводю $ .ui в обработчик события click, в результате я получаю «undefined». В других браузерах (последние версии IE, Chrome и Safari) результат по-прежнему остается [объект объекта] при нажатии на ссылку.
Вот моя HTML-страница:
<!doctype html>
<html>
<head>
<title></title>
<script src="Scripts/jquery-1.7.1.js" type="text/javascript"></script>
<script src="Scripts/jquery-ui-1.8.18.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
alert($.ui); // ALERT A
$(document).on("click", ".dialogLink", function () {
alert($.ui); // ALERT B
return false;
});
});
</script>
</head>
<body>
<a href="#" class="dialogLink">Click me!</a>
</body>
</html>
В этом посте я сократил до самой простой формы еще одну проблему, которую я описал здесь: $ (this) .dialog не является функцией . Для ясности я создал новый пост, поскольку реальный вопрос теперь отличается от исходного вопроса, на котором указана проблема.
UPDATE:
ЕСЛИ я заменяю свои оповещения просто alert($);
Я получаю этот результат для оповещения A:
function (selector, context) {
return new jQuery.fn.init(selector, context, rootjQuery);
}
и этот для предупреждения B:
function (a, b) {
return new d.fn.init(a, b, g);
}
Это не имеет смысла для меня, хотя я, возможно, недостаточно хорошо понимаю, что такое $
...
ОБНОВЛЕНИЕ 2:
Я могу воспроизвести эту проблему только с помощью Firefox на OS X. На Firefox, работающем под Windows 7, все в порядке.