什么是"正确"从关键事件中读取密钥代码的方法是什么?

时间:2015-09-15 13:49:46

标签: javascript events keypress

不推荐阅读MDN docs on keypress eventevent.whichevent.keyCodeevent.charCode,而event.keyevent.char在某些浏览器上仍未实现。在这种情况下,尝试维护代码以遵守现代标准似乎很困难,因为有许多不同的(显然是看不起的)方法来访问角色。那么最好的方法是什么呢?这就是我想要做的事情,但请告诉我是否有更好的方法:



document.addEventListener('keypress', function(event) {
  var code = event.keyCode || event.charCode || event.which;
  var key = String.fromCharCode(code);
  var upper = event.shiftKey;
  if(typeof event.key === 'string') {
    console.log(event.key);
  } else if(typeof code === 'number') {
    console.log(upper ? key.toUpperCase() : key);
  }
});




要运行此功能,请打开控制台,单击空白页,然后在键入键时查看输出。

0 个答案:

没有答案