如何「區分大小寫」檢測jQuery中的字符?jQuery的onKeyPress區分大小寫的字符檢測onKeyPress
2
A
回答
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
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
e.which包含密鑰代碼。 e.target包含發起按鍵事件的元素。 – glomad 2010-12-09 19:51:29