JQuery.keypress &.keydown.
Хорошо, какая разница в .keypress и .keydown/.keyup? В настоящее время я использую .keydown, который возвращает значение .which значение 38 для моего ключа, теперь, если я изменю его на .keypress, он вернет значение 109 для этого же ключа. В чем разница и почему значения различаются для одного и того же ключа?
Ответы
Ответ 1
Я буду d $% ^ @d, действительно есть разница с keypress, и все это время я никогда не осознавал. lol
Смотрите мою скрипку и попробуйте что-то вроде буквы "r"
http://jsfiddle.net/SpYk3/NePCm/
Как-то я никогда не обращал на это внимания
Найдено больше информации:
http://www.quirksmode.org/js/keys.html
"Эти два свойства: keyCode
и charCode
. Положите (тоже) просто, keyCode
говорит что-то о фактической клавише клавиатуры, нажатой пользователем, а charCode
дает значение ASCII результирующего символа. биты информации не должны быть одинаковыми, например, нижний регистр" a "и верхний регистр" A "имеют одинаковый keyCode
, поскольку пользователь нажимает один и тот же ключ, но другой charCode
, потому что полученный символ отличается.
Проводник и Opera не поддерживают charCode
. Однако они дают информацию о символе в keyCode
, но только с onkeypress
. onkeydown
и -up
keyCode
содержит информацию о ключе."
Ответ 2
Если вы нажмете кнопку, то она запустит keydown
, и для ее освобождения будет срабатывать keyup
. keypress
обычно происходит между этими двумя.
keydown
и keyup
расскажите о том, какая клавиша была изменена. keypress
сообщает, какой символ представляет этот символ.
Обратите внимание, что это зависит от браузера!
См. в этой статье о различиях между ключевыми событиями, реализованными в разных браузерах.
Ответ 3
Вы должны прочитать следующее сообщение:
http://javascript.info/tutorial/keyboard-events
Триггеры нажатия клавиш при нажатии любой клавиши и дают код сканирования. Keypress запускает после keydown и дает char -код, но он гарантирован только для символов.
Ответ 4
В обычных случаях перейдите к keyup
:
$(document).keyup(function(e){
console.log(e.which);
});
Причины:
-
keydown
продолжает стрельбу, когда пользователь держит клавиши вниз, а keypress
и keyup
срабатывает только один раз.
-
keypress
не обнаруживает специальных клавиш (например, SHIFT
), keydown
и keyup
do.
Ответ 5
KeyPress происходит после KeyDown. Таким образом, вы можете использовать KeyDown, чтобы определить, какой именно ключ, затем KeyPress, чтобы запретить этот символ.