输入事件和keyPress事件之间的区别

时间:2019-06-05 20:22:01

标签: javascript events

我了解在Javascript中,当将字符插入屏幕时会触发“ keypress”事件,而当您的输入字段发生更改时会触发“ input”事件。我已经对here之类的不同类型的事件进行了许多很好的解释,但是我更想知道这两个事件之间的区别,因为它们看起来是如此相似。具体来说:

  • 按键和输入事件之间有什么不同?在我的快速测试中,似乎首先发生了按键,但这是吗?
  • 在什么情况下我会使用另一种方法?

2 个答案:

答案 0 :(得分:1)

因此,实际上这两个事件根本不相同。让我为您分解一下。

  • keypress事件在您独立于要关注的元素按下任何键盘键时触发。如果您在空白的html页面上按一个键,则事件将被触发。此事件通常用于触发事件,例如在弹出窗口时,您按逃逸键将其隐藏。
  • input事件特定于您当前在聚焦输入元素的同时键入或按下键的情况。有了它,您实际上可以获取输入值并像在表单中一样处理输入内容,检查密码中是否包含符号,大写字母和数字。

这是这两个事件之间的区别。它们根本没有相同的用途。

答案 1 :(得分:-1)

要回答有关何时使用keyDown或keyUp与输入的问题:

  1. 游戏导航控件
  2. 不更改文本的键。例如,使用keyDown检测按下的“ esc”或“ F1”。我通常使用'esc'的keyDown检测来关闭弹出窗口