Safari에서 command + keystroke를 가로 채려고합니다.Safari의 명령 + 키 입력 감지
document.onkeypress = handleKeyPress;
function handleKeyPress(event) {
if ("+" === String.fromCharCode(event.charCode) && event.metaKey) {
// my code here
return false;
}
return true;
}
내가 명령변화= (변화= 내 미국 키보드 +
입니다) 공격 때 문을 반환하지 않는 경우, 다음과 같이 저는 이벤트 처리기를 추가 한 참된. 문이 true를 반환 않는 경우
가 나는 경우 문장의 event.metaKey 부분을 제거하고 변화= 충돌합니다. 또한
, 나는 "+"에서에 "="를 일치하는 문자열을 변경하고 (Shift 키와 함께 또는없이) 명령=을 명중 경우 if 문은 true를 반환 않습니다.
+ 키를 shift =라고 가정하지 않고 command + keypress를 실제로 감지하는 방법이 있습니까? event.shiftKey를 확인하십시오. 일부 비 미국 키보드에는 해당되지 않으므로)?
먼저, ⌘ +를 납치 할 때주의 깊게 100 % 동의합니다. 내장 된 확대/축소 명령을 무시하고 사이트 당 확대/축소 수준을 리콜하는 플러그인이 있으므로이 경우에는 적절하다고 생각합니다. 둘째, 대답 해줘서 고마워. 나는 당신이 대답을 알아 내는데 필요한 모든 도구를 제공했다고 생각하지만, 나는이 정보를 받아 내 필요를 채울 수있는 하루가 걸릴 것입니다. –
완벽하게 작동합니다 ... 감사합니다! jsfiddle 예를 약간 수정하면 exampleCallback 함수에서 '+'키 (U + 002B) 대신 '='키 (U + 003D)의 유니 코드를 사용할 수 있습니다. –
@CeriMorgan : 아, 죄송합니다. jsfiddle을 모으고 자 할 때 질문을 잘못 읽었지만 ⌘ =가 아닌 ⌘ +를 듣고 싶습니다. 게시하기 전에 내 대답을 편집했지만 jsfiddle을 편집하는 것을 잊었습니다. 어쨌든; 위대한 다른 코드 작동 – Flambino