为了账号安全,请及时绑定邮箱和手机立即绑定

onKeyPress Vs. onKeyUp和onKeyDown

onKeyPress Vs. onKeyUp和onKeyDown

米琪卡哇伊 2019-08-09 11:29:02
onKeyPress Vs. onKeyUp和onKeyDown这三个事件有什么区别?谷歌上搜索我发现了该的KeyDown当用户按下一个键触发事件。该KEYUP当用户释放的关键是触发事件。该按键响应事件被触发时,用户按下&释放的关键。(onKeyDown后跟onKeyUp)我理解前两个,但KeyPress与KeyUp不一样吗?(或者可以在没有按下(KeyDown)的情况下释放密钥(KeyUp)吗?)这有点令人困惑,有人可以为我清除这个吗?
查看完整描述

3 回答

?
慕娘9325324

TA贡献1783条经验 获得超4个赞

点击此处查看此答案中最初使用的归档链接

从该链接:

理论上,keydown和keyup事件表示按下或释放的键,而keypress事件表示键入的字符。在所有浏览器中,该理论的实现并不相同。


查看完整回答
反对 回复 2019-08-09
?
富国沪深

TA贡献1790条经验 获得超9个赞

KeyPressKeyUp并且KeyDown类似于分别为:ClickMouseUp,MouseDown

  1. Down 首先发生

  2. Press 发生在第二位(输入文字时)

  3. Up 最后发生(文本输入完成时)。

例外是webkit,其中有一个额外的事件:

keydown
keypress
textInput     
keyup

下面是一个片段,您可以在事件被触发时自己查看:

window.addEventListener("keyup", log);window.addEventListener("keypress", log);window.addEventListener("keydown", log);function log(event){
  console.log( event.type );}


查看完整回答
反对 回复 2019-08-09
?
守候你守候我

TA贡献1802条经验 获得超10个赞

onkeydown键关闭时触发(如快捷键;例如,in Ctrl+ACtrl保持'down'。

onkeyup 释放键时触发(包括修饰符/ etc键)

onkeypress被烧制的组合onkeydownonkeyup,或根据键盘重复(当onkeyup不触发)。(这种重复行为是我没有测试的。如果你做测试,添加评论!)

textInput输入一些文本时会触发(仅限webkit)(例如,Shift+A输入大写的'A',但Ctrl+A会选择文本而不输入任何文本输入。在这种情况下,会触发所有其他事件)


查看完整回答
反对 回复 2019-08-09
  • 3 回答
  • 0 关注
  • 480 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信