为什么 jQuery e.which 不能检测输入键?

发布于 2024-12-27 13:33:40 字数 479 浏览 0 评论 0原文

我有一个像这样的简单 HTML:

Get alert with inserting a + sign: <input type="text" class="data" />

我希望每当用户按下 + 键时都会提醒他/她。但我的 jQuery 代码不起作用:

$(document).ready(function(){
    $(".data").bind('keydown',function(e){
        if(e.which == 107){
            alert('Plus sign entered');
        });
    });
});

我该怎么办?

(这是我的jsFiddle

I have a simple HTML like this:

Get alert with inserting a + sign: <input type="text" class="data" />

I want alert user whenever he/she press + key. But my jQuery code does not work:

$(document).ready(function(){
    $(".data").bind('keydown',function(e){
        if(e.which == 107){
            alert('Plus sign entered');
        });
    });
});

What do I have to do ?

(This is my jsFiddle)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

捶死心动 2025-01-03 13:33:40

这段代码有两处错误。

  1. 有一个拼写错误(?) - IF 条件的右大括号
  2. SHIFT 和 =(即 +)的键 ID 与小键盘不同 +

以下代码修复了它

$(document).ready(function(){
    $(".data").bind('keydown',function(e){

        if(e.which == 107 || e.which == 187){
            alert('Plus sign entered');
        }
    });
});

这是小提琴 - http://jsfiddle.net/DgUUB/

There were two things wrong in this code.

  1. There was a typo(?) - closing curly braces for the IF condition
  2. The key ID for SHIFT and = (which is +) is different from the numpad +

The following code fixes it

$(document).ready(function(){
    $(".data").bind('keydown',function(e){

        if(e.which == 107 || e.which == 187){
            alert('Plus sign entered');
        }
    });
});

Here's the fiddle - http://jsfiddle.net/DgUUB/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文