2012-01-15 56 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