[英]Holding down 'ctrl+enter' gives a different keycode for keypress event than just straight 'enter' - But only on Windows
我有以下Javascript:
$(function(){
$("#foo").keypress(function (event) {
if (event.keyCode == 13) {
console.log(event.ctrlKey ? "Ctrl+Enter (13)" : "Enter (13)");
}
else if (event.keyCode == 10) {
console.log(event.ctrlKey ? "Ctrl+Enter (10)" : "Enter (10)");
}
});
});
在这种情况下,Foo是一个输入框。
在Windows和Windows下 - 按住CTRL修饰符可将keyCode从13
更改为10
。 因此,如果我执行Enter vs CTRL + Enter ,我会在控制台中看到Enter (13)
和Ctrl+Enter (10)
。 无论浏览器如何,Mac OS和Linux都不会这样做。
为什么是这样?
不同浏览器中存在很多不一致之处,这里有一篇描述JavaScript疯狂:键盘事件的文章
还有一个用于规范化javascript keycode.js中的密钥代码的库
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.