簡體   English   中英

按住'ctrl + enter'可以為按鍵事件提供不同的鍵碼,而不僅僅是直接'輸入' - 但僅限於Windows

[英]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都不會這樣做。

為什么是這樣?

http://jsfiddle.net/K6NhF/玩弄小提琴

不同瀏覽器中存在很多不一致之處,這里有一篇描述JavaScript瘋狂:鍵盤事件的文章

還有一個用於規范化javascript keycode.js中的密鑰代碼的庫

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM