2009-07-22 61 views
11

我需要在某些動態輸入上捕獲tab鍵按下事件,但使用keypress事件的正常語法似乎沒有捕獲關鍵代碼。jQuery:如何使用live捕獲按鍵()

$('input').live('keypress', function (e) { 
    if (e.which == 9) 
     alert('Tab pressed'); 
}); 

當我通過螢火蟲調試器時,無論按哪個按鍵,這似乎都是按鍵0。

回答

25

與.keyCode嘗試它,而不是。其中的:

$('input').live('keypress', function (e) { 
    if (e.keyCode == 9){ 
     alert('Tab pressed'); 
    } 
}); 

似乎工作;)

8

嘗試監聽keyup或​​,而不是keypressper this SO post

+1

的確。 quirksmode還具有關於事件的瀏覽器兼容性的信息,以及具有特定鍵的特定瀏覽器怪癖。我在代碼中選擇了'keydown'。 – 2010-11-09 03:36:21