2010-12-09 61 views

回答

4

使用.keypress並查看該事件的哪個屬性,如該頁面上所述。該頁面附近有一個Demo部分,您可以在其中鍵入'a'並查看哪個是97,然後鍵入'A'並查看哪一個是65.

(順便說一句,我假設你意思是 「case-sensitively」,而不是 「個案理智」)

1

看到這個Fiddle Example

// type 'a': 97 
// type 'A': 65 
$('input').keypress(function(e){ 
    console.log(e.which) 
}); 
+0

e.which包含密鑰代碼。 e.target包含發起按鍵事件的元素。 – glomad 2010-12-09 19:51:29

0

你可以簡單地使用string.match()(純JavaScript函數)

的更多細節:link text

也許如果您提供更多信息,我們可以幫助您。

0

有一點需要注意的是,這隻適用於按鍵,所以要小心使用keydown和keyup來做到這一點。這是從jQuery documentation上按鍵:

注意,KeyDown和KEYUP提供 代碼,指示哪個鍵按下, 而按鍵表明這是進入 字符。

1

不需要jQuery,它只做最簡單的規範化。正如其他地方所指出的,keypress是你的關鍵事件唯一的選擇,並獲得該字符是非常簡單的:

document.onkeypress = function(e) { 
    e = e || window.event; 
    var charCode = (typeof e.which == "number") ? e.which : e.keyCode; 
    if (charCode) { 
     alert("Character typed: " + String.fromCharCode(charCode)); 
    } 
}; 

請注意,這裏有一個少數情況下,你會得到一個字符驚動了非打印鍵在某些瀏覽器中,jQuery不會保護你(它的規範化幾乎與我的相同)。欲瞭解更多信息,請參見JavaScript的關鍵事件當前權威的參考:http://unixpapa.com/js/key.html

我也寫在(略)以上長度上類似的問題最近:JavaScript KeyCode vs CharCode