2010-12-15 7 views
12

私は、ページがロードされた後、特定のキーボード文字列を聞く必要があるサイトを構築しています。jQuery:一般的なキーボード入力をどのように聞きますか?

私が興味を持っているイベントは、実際にはオブジェクトをスキャンするスキャナですが、~XXX~という形式のキーボード入力としてサイトに表示されます。

jQueryには、特定のオブジェクトにバインドできるkeypress()イベントがあります。

しかし、$(document).readyの後に一般的なキーボード入力を聞くにはどうすればよいですか?

+0

例を調べると、ドキュメントにあります:http://api.jquery.com/keypress/ – Mark

答えて

17

はこれを試してみてください:

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

は、私が前にこれをやったjsFiddle

+0

IE 8で動作しませんでした。(FireFoxで動作します) – ClearCloud8

1

上のアクションでそれを参照してください。 keypressイベントを処理する方法以外にも心配することがたくさんあります。

あなたのスキャナは、入力を開始文字と終了文字で囲んでいる可能性があります。 keypressイベントに接続するScanReaderオブジェクトを作成します。開始文字を検出すると、終了文字が検出されるまでプレスの蓄積が開始されます。

ユーザーの入力と混同されないように、キーの押下は互いに比較的近い時間に行う必要があります。試してみると、キー押下間のms数がわかります。高速タイピングは、キープレスの間に50msの速さで入力できます。

関連する問題