6
$(document).on('keydown', function(e) {
     if (e.shiftKey) {
          $('body').append('test1');
     }
});
$(document).on('keyup', function(e) {
     if (e.shiftKey) {
          $('body').append('test');
     }
});

キーアップはトリガーされませんが、キーダウンはトリガーされます。なぜですか?

4

2 に答える 2

4

event.shiftKeyキーアップで常に戻りfalseます。

代わりに確認してくださいkeyCode === 16(キーアップ時のシフトキーコードです):

$(document).on('keydown', function(e) {
     if (e.shiftKey) {
          $('body').append('test1');
     }
}).on('keyup', function(e) {
     if (e.keyCode === 16) {
          $('body').append('test');
     }
});

デモ: http://jsfiddle.net/maniator/eyX5N/

于 2013-11-12T16:32:14.127 に答える