jQuery를 사용하여 Shift 키를 눌렀다가 다시 놓는 것을 들으려고합니다.
$(document).bind('keydown', function (event) {
if (event.shiftKey) {
document.body.innerHTML += 'shift down<br>';
}
});
$(document).bind('keyup', function (event) {
if (event.shiftKey) {
document.body.innerHTML += 'shift up<br>';
}
});
keyup / keydown 이벤트는 일반적으로 제대로 호출되는 것 같습니다. 그러나 Shift event.shiftKey
키만 누르면 keyUP 이벤트가 아닌 keyDOWN 이벤트에 대해서만 설정됩니다. 이 경우 JSFiddle에서 "key up"메시지가 인쇄되지 않음을 알 수 있습니다. 그러나 Shift + 다른 것 (예 : Ctrl)을 누르면 모든 것이 정상적으로 작동합니다.
이것은 jQuery의 버그입니까? 해결 방법이 있습니까?
ardeneo가 그의 의견에서 언급했듯이 .shiftKey 속성을 오해했습니다. 올바른 방법은 keyup과 keydown을 모두 듣고 event.shiftKey를 확인하여 눌렀는지 또는 들었는지 확인하는 것입니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다