다음 코드를 실행하고 Mac에서 (Chrome 사용) 명령 키를 누르면 metakey가 keydown으로 설정되지만 키 업으로 설정되지 않습니다. 내가 뭔가 잘못하고 있는거야? 난 그냥 내 자바 스크립트 내에서 사용할 수 있도록 누르면되는 메타 키를 추적하기 위해 노력하고있어 - 더 좋은 방법이 있다면 여기에 jQuery가 키 업에서 변경자를 감지하지 못합니다.
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