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

keyup 永远不会为我触发,但 keydown 会触发,这是为什么呢?

4

2 回答 2

4

event.shiftKey总是返回falsekeyup。

改为检查keyCode === 16(这是 shift 键代码,在 keyup 上):

$(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 回答
2

e.shiftKey在 keyUp 事件中使用时总是返回false...您的事件触发,测试失败。

于 2013-11-12T16:31:33.937 回答