Некоторые клавиши запускают как onKeyDown, так и события onKeyPress, такие как A
, а некоторые клавиши только стреляют поKeyDown, например SHIFT
. Как я могу проверить, что onKeyPress не уволил за конкретный ключ? Мне нужно обнаружить его, как только нажата клавиша, поэтому я не могу использовать onKeyUp из-за задержки.Как я могу проверить, что onKeyPress НЕ запускается после onKeyDown?
1
A
ответ
1
В этом случае вы можете использовать onKeyUp, поскольку onKeyPress запускается после onKeyDown и до onKeyUp. Вы можете хранить ли OnKeyPress был уволен за ключом, как это:
var keyPressedFired = false;
document.addEventListener("keypress", function(e) {
keyPressedFired = true;
});
document.addEventListener("keyup", function(e) {
if (!keyPressedFired) {
alert('KeyPress not fired this key');
}
keyPressedFired = false;
});
Выполнить фрагмент кода, нажмите на белую часть ниже ее и нажмите SHIFT
+0
Удерживайте 'A' n удерживайте нажатой кнопку 'SHIFT'. Выпустите 'SHIFT', затем отпустите' A'. Появляется сообщение о том, что «KeyPress не запускал этот ключ», который является неправильным. –
Смежные вопросы
- 1. JavaScript: «onkeydown» и «onkeypress»
- 2. onkeydown/onkeypress html и javascript
- 3. javascript onkeypress/onkeydown не работает в IE
- 4. Разница между onkeypress и onkeydown в asp.net
- 5. Как проверить состояние OnKeyPress
- 6. WinForms, обработка всех ключей = OnKeyPress + OnKeyDown, но как?
- 7. XPages - событие onkeypress не запускается правильно щелкнуть
- 8. Как использовать onkeydown-onkeypress-onkeyup в этом упражнении
- 9. Как я могу отменить onblur в onkeydown?
- 10. Текстовое поле допускает номера в определенном диапазоне - onkeypress onkeydown
- 11. JavaScript onkeydown не работает
- 12. JS | После onkeypress событие Onclick запускается в IE10
- 13. Как я могу проверить, что Openwhisk вызывается?
- 14. Как я могу проверить, что загрузка завершена?
- 15. Как я могу проверить, что использует VisualTreeHelper?
- 16. как я могу проверить, под каким именем пользователя запускается скрипт?
- 17. Использование Robotium, как проверить, что видео запускается?
- 18. Regex как я могу проверить, что сообщение не пустое
- 19. Как я могу проверить, что обещание никогда не выполняется?
- 20. Как я могу проверить, что в массив не введены буквы?
- 21. OnKeyPress, onKeyDown, onKeyUp события не запускаются в Firefox/Chrome под Android при вводе букв
- 22. получить странные ошибки Jquery, что я не могу понять это
- 23. Слушатели событий (onkeypress, onkeydown) на входе, не работающем на цифровой клавиатуре Android
- 24. Как я могу проверить, что strtol разбирал что-нибудь вообще?
- 25. OnKeyDown не вызываются после обновления поддержки библиотеки
- 26. Rails: как я могу проверить, что что-то логическое?
- 27. Как я могу проверить что-то, что меняется?
- 28. как я могу проверить что-то, что является подмодулем?
- 29. Как я могу регулярное_выражение соответствовать URL из OnKeyDown события
- 30. AjaxFormComponentUpdatingBehavior onkeypress
раствор из в верхней части моей головы используйте var для отслеживания события onkeyPress, затем используйте setTimeout с задержкой 0, чтобы вставить новое событие в таблицу событий, которая будет выполняться после завершения всех событий (в этот момент вы можете проверить, запущены ли оба из них или только один) – sarepta