我正在構建一個網站,加載頁面後,需要監聽特定的鍵盤字符串。jQuery:如何監聽通用鍵盤輸入?
我感興趣的事件實際上是一個掃描儀掃描物體,但它以鍵盤輸入的形式呈現給網站~XXX~
。
我看到jQuery有一個keypress()
事件,你可以綁定到一個特定的對象。
但是如何在$(document).ready
之後收聽一般鍵盤輸入?
我正在構建一個網站,加載頁面後,需要監聽特定的鍵盤字符串。jQuery:如何監聽通用鍵盤輸入?
我感興趣的事件實際上是一個掃描儀掃描物體,但它以鍵盤輸入的形式呈現給網站~XXX~
。
我看到jQuery有一個keypress()
事件,你可以綁定到一個特定的對象。
但是如何在$(document).ready
之後收聽一般鍵盤輸入?
試試這個:
$(function() {
$(window).keypress(function(e) {
var key = e.which;
//do stuff with "key" here...
});
});
看到它在行動上jsFiddle
在IE 8中對我無效(在FireFox中工作) – ClearCloud8 2012-10-25 20:10:46
我已經這樣做過。除了如何處理按鍵事件之外還有很多其他事情需要擔心。
您的掃描儀可能會發送包含開始和結束字符的輸入。我將創建一個附加到按鍵事件的ScanReader對象。一旦檢測到開始字符,它就開始累計按鍵,直到檢測到結束字符。
爲了防止它與用戶輸入混淆,按鍵應該相對接近(及時)彼此,您需要測試它並查看按鍵之間的好幾個ms。快速打字機可以在按鍵之間快速輸入50ms。
請查看示例,它位於文檔中:http://api.jquery.com/keypress/ – Mark 2010-12-15 21:50:55