簡単そうに見えますが、DocumentDOMからJavaScriptの数字をインターセプトする方法がわかりませんでした
$(document).keypress(function (e) {
if (e.keyCode == xx) {
alert();
}
});
簡単そうに見えますが、DocumentDOMからJavaScriptの数字をインターセプトする方法がわかりませんでした
$(document).keypress(function (e) {
if (e.keyCode == xx) {
alert();
}
});
番号は48から57なので、...
$(document).keypress(function (e) {
var key = e.keyCode || e.charCode;
if (key >= 48 && key <= 57) {
alert('You pressed ' + (key - 48));
}
});
出典:http ://www.quirksmode.org/js/keys.html
Keypressイベントは、FirefoxではkeyCode 0を生成し、それ以外の場合はASCII文字値を生成します。Keypressイベントは、FirefoxでASCII文字値のcharCodeを生成します。したがって、を使用(e.keyCode || e.charCode)
して文字値を取得する必要があります。
alert
また、1つの引数を受け入れる必要があるため、コードも機能しないことに注意してください。Firefoxでは、少なくとも、alert
引数なしで呼び出すと例外がスローされます。
これらの2つの問題が修正されると、コードは次のようになります。
$(document).keypress(function (e) {
if ((e.keyCode || e.charCode) == <number from 48..57 inclusive>) {
alert('something');
}
});
例: http: //jsfiddle.net/gRrk6/
$(document).keydown(function(event){
if(event.keyCode == 13) {
alert('you pressed enter');}
});
13をキーコードに置き換えます。詳細については、こちらをご覧ください:http:
//www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes
イベント[keyCode、charCode、which] とブラウザの影響を受けるこのテストページの違いに気付くはずです。つまり、私はサファリでテストしまし た。onKeyPressは常に空です。