Хорошо, а какая разница в .keypress и .keydown/.keyup? В настоящее время я использую .keydown, который возвращает значение .which значение 38 для моего ключа, теперь, если я изменю его на .keypress, он вернет значение 109 для этого же ключа. В чем разница и почему значения разные для одного и того же ключа?jQuery .keypress & .keydown. Which
ответ
KeyPress происходит после KeyDown. Таким образом, вы можете использовать KeyDown, чтобы определить, какой именно ключ, затем KeyPress, чтобы запретить этот символ.
Вы должны прочитать следующее сообщение: http://javascript.info/tutorial/keyboard-events
KeyDown триггеры на любом нажатии клавиши и дает скан-код. Keypress триггеры после keydown и дает char-код, но он гарантирован только для символов.
Если вы нажмете кнопку, то она запустит keydown
и выпустив ее, чтобы выстрелить keyup
. Обычно между ними стоят keypress
.
keydown
и keyup
говорить о том, какие ключ был изменен. keypress
сообщает, что знак этот ключ представляет.
Обратите внимание, что это зависит от браузера!
См. this article about the differences between the key events as implemented on various browsers.
Я буду d $%^@ d, действительно есть разница с нажатием клавиши, и все это время я никогда не осознавал. лол
Смотрите мою скрипку и попробовать что-то вроде буквы "г"
http://jsfiddle.net/SpYk3/NePCm/
Как-то никогда я не обращал внимания на этот
Найдено подробнее:
http://www.quirksmode.org/js/keys.html
«Два свойства:
keyCode
иcharCode
. Положите (тоже) просто:keyCode
что-то говорит о фактической клавише клавиатуры, которую нажал пользователь, аcharCode
дает значение ASCII результирующего символа. Эти биты информации не обязательно должны быть одинаковыми; например, нижний регистр «a» и верхний регистр «A» имеют одинаковыйkeyCode
, поскольку пользователь нажимает тот же ключ, но другойcharCode
, потому что результирующий символ отличается.Проводник и опера не поддержка
charCode
. Однако они дают информацию о символе вkeyCode
, но только сonkeypress
.onkeydown
и-up
keyCode
содержит информацию о ключе."
Да, поэтому я почему-то сомневаюсь, почему? – ChrisMJ
, а jbl указал в своем ответе, [эта страница] (http://javascript.info/tutorial/keyboard-events) описывает проблему чуть-чуть, но она все еще не отвечает на весь вопрос , Возможно, я неправильно прочитал страницу, но в какой-то момент он все же указывает на то, что charcode потянут на обоих, просто один reutrns другое значение. Возможно, взгляд в каком-то старом js doc найдет ответ. Я смотрю сейчас, также собираюсь переписать свой объект, чтобы включить различия в клавиатуре – SpYk3HH
, хотя я бы предложил избегать нажатия клавиш, поскольку он не срабатывает как предсказуемые события, такие как keydown и keyup – SpYk3HH
В обычных случаях идти на keyup
:
$(document).keyup(function(e){
console.log(e.which);
});
Причина:
keydown
продолжает стрелять, когда пользователь держит ключи вниз, в то время какkeypress
иkeyup
огня только один раз .
keypress
не обнаруживает специальных ключей (например,SHIFT
),keydown
иkeyup
делаем.
- 1. JQuery keypress keydown error
- 2. KeyDown/KeyPress и индексирование
- 3. JQuery Keydown, Keypress, Keycode и т. Д.
- 4. jQuery keypress/keydown не работает должным образом
- 5. jQuery - keydown/keypress/keyup обнаружение ENTERKEY?
- 6. keypress and keydown in firefox
- 7. Почему событие «keydown» работает как событие «keypress»?
- 8. Нужно моделировать keypress jquery
- 9. JQuery .keyup .keydown .keypress не обнаруживает браузер autofill
- 10. jQuery: получить значение keydown (not keypress) любого заданного символа
- 11. Jquery keypress, keydown, keyup, вход не подходит моему требованию
- 12. Как обнаружить @ в keydown или keypress в jQuery
- 13. Trigger Keypress с jQuery
- 14. Excel Надстройка KeyPress/KeyDown Implementation (Visual Basic)
- 15. События EmbarView 'keydown' и 'keypress' не отображаются?
- 16. Почему окно сообщений KeyPress отображается перед KeyDown?
- 17. Обработка событий KeyDown и KeyPress в C#
- 18. Вкладка не запускает событие keydown или keypress
- 19. jQuery keydown CRLF
- 20. Цепочное событие jquery keydown
- 21. jQuery multi-keypress handling
- 22. Получить имя столбца/указатель на KeyPress/KeyDown в jqGrid
- 23. В чем разница между keyup, keydown, keypress и входными событиями?
- 24. используя .keypress и .keydown рядом друг с другом
- 25. JQuery KeyDown только цифры
- 26. jQuery - keyDown
- 27. Глобальные события KeyDown/keyPress в EmberJS без необходимости устанавливать фокус
- 28. JQuery нажатие/KeyDown вызвать функцию
- 29. Jquery keypress cascading
- 30. Trap keypress с помощью jquery
который вы используете? – Mathletics
Различные браузеры должны приводить к разным событиям, но это не разные команды клавиш. – SpYk3HH
У меня есть объект json со всеми ключевыми событиями, и каждый из них разделен на браузер, я также опубликую его слишком быстро, со всеми тремя нажатиями клавиш, и мы можем проверить это , gimmie like 10 mins – SpYk3HH