获取关键事件产生的符号

时间:2018-04-08 14:42:17

标签: javascript contenteditable

我正在通过处理keydown事件来处理用户输入 弄清楚输入了哪个角色真是很累人。

例如,我正在检查event.keyCode == 86是否为v个字母,但如果我想知道它是#符号,我需要检查event.keyCode == 51 && event.shiftKey,依此类推。

所以,我的问题是有没有更简单的方法来检测当前event会产生哪个字符?

1 个答案:

答案 0 :(得分:0)

使用KeyboardEvent.key属性,检查它是否与包含您允许的字符的RegExp模式(whiteList)匹配。

注意:,因为代码也可以是shiftctrl等......模式仅限于一个字符。



var whiteList = /^[\w\d]$/;

demo.addEventListener('keydown', function(e) {
  var key = e.key;
  
  console.log(key, whiteList.test(key));
});

<input id="demo">
&#13;
&#13;
&#13;