[英]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.