檢測修飾符當我運行下面的代碼,然後按命令鍵在我的Mac(使用Chrome),metaKey被設置的keydown而不是KEYUP。難道我做錯了什麼?我只是想跟蹤元鍵被按下,所以我可以用它我的JavaScript內 - 如果有一個更好的辦法,請讓我知道:-)jQuery的不KEYUP
var metaPressed = false;
$(document).keydown(function(e) {
console.log('keydown ' + e.keyCode);
if (e.metaKey || e.ctrlKey) {
console.log('meta pressed');
metaPressed = true;
}
});
$(document).keyup(function(e) {
console.log('keyup ' + e.keyCode);
if (e.metaKey || e.ctrlKey) {
console.log('meta unpressed');
metaPressed = false;
}
});
下面是相關按鍵的控制檯輸出
// Pressing cmd
keydown 91
meta pressed
keyup 91
// Pressing control
keydown 17
meta pressed
keyup 17
// Pressing non-meta like spacebar
keydown 32
keyup 32
不知道我得到它,並不如預期,只是,KeyUp事件觸發時的按鈕所以即使keyup事件用正確的keyCode觸發,e.metaKey在那一點上也會是false? – adeneo 2014-09-28 19:23:43