2010-12-15 50 views
12

我正在構建一個網站,加載頁面後,需要監聽特定的鍵盤字符串。jQuery:如何監聽通用鍵盤輸入?

我感興趣的事件實際上是一個掃描儀掃描物體,但它以鍵盤輸入的形式呈現給網站~XXX~

我看到jQuery有一個keypress()事件,你可以綁定到一個特定的對象。

但是如何在$(document).ready之後收聽一般鍵盤輸入?

+0

請查看示例,它位於文檔中:http://api.jquery.com/keypress/ – Mark 2010-12-15 21:50:55

回答

17

試試這個:

$(function() { 
    $(window).keypress(function(e) { 
     var key = e.which; 
     //do stuff with "key" here... 
    }); 
}); 

看到它在行動上jsFiddle

+0

在IE 8中對我無效(在FireFox中工作) – ClearCloud8 2012-10-25 20:10:46

1

我已經這樣做過。除了如何處理按鍵事件之外還有很多其他事情需要擔心。

您的掃描儀可能會發送包含開始和結束字符的輸入。我將創建一個附加到按鍵事件的ScanReader對象。一旦檢測到開始字符,它就開始累計按鍵,直到檢測到結束字符。

爲了防止它與用戶輸入混淆,按鍵應該相對接近(及時)彼此,您需要測試它並查看按鍵之間的好幾個ms。快速打字機可以在按鍵之間快速輸入50ms。