大文字と小文字を含む通常のテキストをキャプチャする必要がありますが、alt、ctrl、esc などのキー コードも取得したいと考えています。 .keydown からの特別なキーですが、一緒にすると、1 つの結果しか得られません。Chrome を使用していますが、できるだけ多くの他のブラウザーもサポートする必要があります。
質問する
86 次
2 に答える
1
リスナーからのコールバックの最初の引数であるjQuery.Eventを使用して、特別なキーの状態を取得できます。
http://jsbin.com/epuqig/2/embed?live
jQuery(function($) {
$('input').on('keydown', function(event) {
// event.shiftKey
// event.ctrlKey
// Also to fetch the keyCode use:
// event.which
if ( event.which == 8 && event.shiftKey ) {
// Backspace and shift key is pressed
}
});
});
古いブラウザーを気にしない場合は、バニラを使用できます。
window.addEventListener('load', function() {
var inputs = document.querySelectorAll('input');
[].forEach.call(inputs, function(input) {
input.addEventListener('keydown', keydownHandler, false);
});
}, false);
function keydownHandler(event) {
if ( event.keyCode == 8 && event.shiftKey ) {
// Backspace and shift key is pressed!
}
}
ご覧のとおり、これはほとんど同じコード スニペットですが、2 番目のコードは IE9 未満で動作する必要があります。
于 2013-06-17T14:19:07.733 に答える
0
$(document).ready(function () {
$(document).keydown(function (e) {
var code = e.keyCode;
if(e.altKey) // you can also use - e.ctrlKey , e.shiftKey
// alt key
}).keyup(function (e) {
var code = e.keyCode;
});
});
于 2013-06-17T14:20:31.467 に答える