zoukankan      html  css  js  c++  java
  • js_键盘与输入事件

    按下的是非字符键时

    • 仅触发keydownkeyup事件,通过event.keyCode可以查询按下的是什么键。
    • 按下键按住不放会重复触发keydown事件,出于性能考虑有必要进行防抖处理或者进行其它限制。

    按下的是字符键时

    • input输入框中按下字符键,触发keydown,keypress,textInput,keyup事件。
    • document按下字符键,触发keydown,keypress,keyup事件。
    • keypress在用户按下某个字符键时触发,无论这个字符是否显示。通过charCode属性获取按键字符对应的ASCII编码,再通过String.fromCharCode()方法获取输入值。在DOM3事件中被废弃,转而推荐textInput事件。
    • 按下字符键不放会重复触发keydownkeypress
    • textInput事件只能在输入框中触发,通过data属性获取输入的字符。

    使用中文输入法时

    • document中与英文输入法无区别

    • 在输入框中,每次按键会触发keyup事件两次且两次触发的e.keyCode不一致,其触发顺序为keydown,keyup,keyup

    • 通过按键选中输入法中的候选字符时,触发顺序为keydown,textInput,keyup,keyup

    • textInput事件的data属性返回的只是编辑区域内的文本。通过点击字符键1选取某个汉字时,e.data返回的是具体的汉字文本而不是字符1

    • 测试

  • 相关阅读:
    python-socket1
    python-网络编程
    linux-常用指令3
    linux-vim/编辑器
    linux-常用指令2
    linux-常用指令1
    MySQL 练习题
    33 python 并发编程之IO模型
    32 python 并发编程之协程
    31 python下实现并发编程
  • 原文地址:https://www.cnblogs.com/Syinho/p/14217956.html
Copyright © 2011-2022 走看看