首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jquery没有捕获keyCode

jquery没有捕获keyCode
EN

Stack Overflow用户
提问于 2012-01-03 04:49:52
回答 2查看 150关注 0票数 0

我有以下代码的一部分-您可以在http://jsfiddle.net/73c3X/1/上看到它

代码语言:javascript
复制
    if (txt.val().length >= 10 && (event.keyCode != 46 || event.keyCode != 8 || event.keyCode != 9)) {
        alert(txt.val().length + "keycode = " + event.keyCode);
        event.preventDefault();
        $('.onlynumbers').text("10 digits in mobile").show(200);
    }

这个想法是为了防止有人输入超过10个数字并显示一条消息。

我早就料到会有这句话

代码语言:javascript
复制
if(txt.val().length >= 10 && (event.keyCode != 46 || event.keyCode != 8 || event.keyCode != 9))

为了允许使用制表符、退格键或删除,正如您在小提琴中看到的那样,它们通过if语句并触发警报-这甚至会显示length = 10和keyCode = 9。

对我来说它看起来很好,显然不是。是我遗漏了什么,还是这是一个DOH!片刻?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-03 04:56:49

您应该执行以下操作:

代码语言:javascript
复制
if (txt.val().length >= 10 && event.keyCode != 46 && event.keyCode != 8 && event.keyCode != 9) {
票数 0
EN

Stack Overflow用户

发布于 2012-01-03 04:54:32

它应该是

代码语言:javascript
复制
if(txt.val().length >= 10 && (event.keyCode != 46 && event.keyCode != 8 && event.keyCode != 9))

在代码的乞求中,因为您想要捕获除这三个之外的所有代码。此外,不要忘记箭头,因为它们可以用来移动和编辑数字。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8705207

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档