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

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

最佳答案

event.shiftKey始终在keyup上返回false

而是检查keyCode === 16(这是keyup上的shift键代码):

$(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/

关于javascript - 为什么按下keydown却不按下keyup?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19934552/

10-12 12:46