2012-01-15 60 views
0

我有一个简单的HTML这样的:为什么jQuery e.which无法检测输入密钥?

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'); 
     }); 
    }); 
}); 

我该怎么办?

(这是my jsFiddle

+0

尝试使用的keydown的KEYUP代替。也检查这个http://stackoverflow.com/questions/302122/jquery-event-keypress-which-key-was-pressed – emaillenin 2012-01-15 07:21:31

回答

1

有两件事情错在这个代码。

  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/

+0

是的,你是对的。感谢您的帖子JohnP – 2012-01-15 07:26:13