Пример Jquery Keyup () не работает на сервере - PullRequest
0 голосов
/ 08 сентября 2011

Я пытаюсь использовать функцию keyup в небольшом поиске, но с файлами на сервере и доступом к странице через IE8 и FF функция keyup, похоже, не работает. Чтобы проверить это, я позаимствовал код из примера веб-сайтов jQuery и поместил его на сервер (это Windows Server 2003 R2). Однако этот пример также не работает (http://api.jquery.com/keyup/). Я заметил, что в нем есть строка

<script type="text/javascript" src="/scripts/events.js"></script>

и моя первоначальная мысль была: "Моя не работает, потому что я пропускаю этот файл событий!" но после поиска в Google я думаю, что это не так. В своем коде я ссылаюсь на загруженную копию jQuery, и я также попытался связать ее через копию googleapi, но в любом случае не повезло. Любые мысли о том, почему функция keyup может не работать на сервере?

Ответы [ 2 ]

0 голосов
/ 08 сентября 2011

Создается ли динамически генерируемый элемент после загрузки страницы?Если это так, вам нужно использовать live:

$("#element").live('keyup',function(e) {
  var keycode = e.keyCode ? e.keyCode : e.which;
});

В противном случае попробуйте:

$("element").keyup(function(e) {
  var keycode = e.keyCode ? e.keyCode : e.which;
});

Кроме того, убедитесь, что вы выбираете правильный элемент (поле ввода?) И дважды проверьтеселектор правильный.Некоторые проблемы могут возникнуть в разных браузерах, с обработкой e.keyCode или нет.Приведенный выше пример также проверяет значение кода ключа в e.which, если e.keyCode не существует.

0 голосов
/ 08 сентября 2011

Код на этой странице выглядит немного неработающим.В частности, кажется, что он использует функцию print, которая отсутствует в последней версии jQuery (возможно, она включена в отсутствующий скрипт events.js?)Я использую размещенный в Google jQuery, вы можете указать, что вместо этого у вас локальная версия, и она все равно должна работать нормально.для вывода сообщений отладки в новое div, которое я добавил ниже текстового поля.Когда вы вводите текстовое поле, вы должны увидеть события нажатия клавиш, регистрируемые там.

...