jQuery的onKeyPress中区分大小写的字符检测

时间:2010-12-09 19:43:59

标签: javascript jquery javascript-events

如何“区分大小写”在jQuery中检测字符onkeypress?

5 个答案:

答案 0 :(得分:4)

使用.keypress并查看事件的哪个属性,如该页面所述。该页面底部附近有一个Demo部分,您可以在其中键入“a”并查看其中的97,然后键入“A”并查看其为65.

(顺便说一句,我认为你的意思是“case-sensitively”,而不是“明智的”。)

答案 1 :(得分:1)

请参阅此Fiddle Example

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

答案 2 :(得分: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

答案 3 :(得分:0)

您可以简单地使用string.match()(简单的javascript函数)

有关详细信息:link text

如果您提供更多信息,我们可以帮助您。

答案 4 :(得分:0)

有一点需要注意的是,这只适用于按键,因此请小心尝试使用keydown和keyup。这是来自keypress上的jquery documentation

  

请注意,keydown和keyup提供了一个   指示按下哪个键的代码,   而按键表示哪个   字符已输入。