jQuery的onKeyPress中的大小写敏感字符检测

sr4lhrrt  于 2022-12-18  发布在  jQuery
关注(0)|答案(5)|浏览(237)

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

qyzbxkaa

qyzbxkaa1#

使用.keypress并查看事件的which属性,如该页所述。该页底部附近有一个演示部分,您可以在其中键入'a'并查看值为97,然后键入'A'并查看值为65。
(By顺便说一下,我假设您的意思是“case-sensitively“,而不是“区分大小写”。)

q8l4jmvw

q8l4jmvw2#

查看此Fiddle Example

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

lrpiutwd3#

不需要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键码与字符码

aamkag61

aamkag614#

您可以简单地使用string.match()(一个普通的javascript函数)
更多详情:link text
如果你给予更多信息我们也许能帮你。

ioekq8ef

ioekq8ef5#

有一点需要注意的是,这只适用于keypress,所以在尝试使用keydown和keyup时要小心,这是来自keypress的jquery documentation
请注意,keydown和keyup提供了一个代码,指示按下了哪个键,而keypress指示输入了哪个字符。

相关问题