我需要知道onkeydown
事件期间按 字符。
这个答案看起来很简单......
window.onkeydown = function (e) {
console.log(e.key);
e.preventDefault(); // I need this for something else
}
..但它不适用于Chrome:undefined
。
这:
String.fromCharCode(e.keyCode)
不起作用,因为它在a
和A
,-
和6
之间没有区别(我的法语键盘布局,但它会是其他的另一种布局)。
如何知道onkeydown
活动期间按下的字符?
是否有jQuery的解决方案?
重要提示:答案可能是:"不要这样做,请改用onkeypress
" 。
这不适用于我的目的,因为在Chrome上调用onkeypress
时,太晚会阻止默认浏览器使用e.preventDefault()
的行为。所以我真的需要使用onkeydown
。
导入注释2 :我希望最终能够(在onkeydown
期间)知道密钥{{1}已按下(或+
,因为它在同一个键上)。
使用=
并不容易,因为keyCode
可以是:
+
带有美国版面等的或FF WIN CHROME WIN IE WIN FF MAC SAFARI MAC
61 187 187 173 189 !! (= the key - on CHROME WIN !!)
我确定它与其他键盘布局有很多不同的值。