Хорошо, какая разница в .keypress и .keydown/.keyup? В настоящее время я использую .keydown, который возвращает значение .which значение 38 для моего ключа, теперь, если я изменю его на .keypress, он вернет значение 109 для этого же ключа. В чем разница и почему значения различаются для одного и того же ключа?
JQuery.keypress &.keydown.
Ответ 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и-upkeyCodeсодержит информацию о ключе."
Ответ 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иkeyupdo.
Ответ 5
KeyPress происходит после KeyDown. Таким образом, вы можете использовать KeyDown, чтобы определить, какой именно ключ, затем KeyPress, чтобы запретить этот символ.