2013-11-25 3 views
1

Shift + 대문자 또는 옵션 용 키는 어떻게 처리합니까?paperjs를 코딩하는 방법 key.isDown() 콤보

은 1이나! 같은 키가 될 수 있습니다. /?

또는

H 또는 시프트 + H는 H가 대문자를 얻을 도착.

나는 종이 js로 WYSIWYG를 만들려고 노력하고있다. 텍스트 항목을 클릭하면 텍스트를 변경할 수 있기를 바랍니다. 나는 그 일을하고있다. 그러나 내가 shift + a를 눌러 A를 얻으면 나는 shifta를 얻는다.

답변

2

[email protected]#$%^&*()_+ 등과 같은 문자는 onKeyDown에 의해 적절히 처리되어야한다. 대문자를 처리하기 위해, 시프트 - 수정이 활성화되어 있는지 확인 :

function onKeyDown(event) { 
    if (event.key == 'shift' || event.key == 'command' || event.key == 'option' || event.key == 'caps-lock' || event.key == 'control') return; 
    if (event.modifiers.shift || event.modifiers.capsLock) { 
     console.log('The ' + event.key.toUpperCase() + ' key was pressed!'); 
    }  
    else console.log('The ' + event.key + ' key was pressed!'); 
} 
+0

이렇게하면 많은 도움이되었습니다. 공백과 백 스페이스가있는 내 코드는 다음과 같습니다. – Justin

0
function onKeyDown(event) { 
if (event.key == 'shift' || event.key == 'command' || event.key == 'option' || event.key == 'caps-lock' || event.key == 'control') return; 


if (event.modifiers.shift || event.modifiers.capsLock) { 
    text.content = text.content + event.key.toUpperCase(); 
}else if (Key.isDown('space')){ 
    event.preventDefault(); 
    text.content = text.content + " "; 
}else if (Key.isDown('backspace')){ 
    var subStr = text.content.substring(0, text.content.length - 1) 
    text.content = subStr; 
}  
else{ 
    text.content = text.content + event.key; 
} 

}

이 내가 함께 끝난 것입니다. 감사합니다 알렉스 !!

관련 문제