我正在通过处理keydown
事件来处理用户输入
弄清楚输入了哪个角色真是很累人。
例如,我正在检查event.keyCode == 86
是否为v
个字母,但如果我想知道它是#
符号,我需要检查event.keyCode == 51 && event.shiftKey
,依此类推。
所以,我的问题是有没有更简单的方法来检测当前event
会产生哪个字符?
答案 0 :(得分:0)
使用KeyboardEvent.key
属性,检查它是否与包含您允许的字符的RegExp模式(whiteList
)匹配。
注意:,因为代码也可以是shift
,ctrl
等......模式仅限于一个字符。
var whiteList = /^[\w\d]$/;
demo.addEventListener('keydown', function(e) {
var key = e.key;
console.log(key, whiteList.test(key));
});

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