如何“区分大小写”在jQuery中检测字符onkeypress?
答案 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)
答案 4 :(得分:0)
有一点需要注意的是,这只适用于按键,因此请小心尝试使用keydown和keyup。这是来自keypress上的jquery documentation:
请注意,keydown和keyup提供了一个 指示按下哪个键的代码, 而按键表示哪个 字符已输入。