shift 키를 사용하여 수행 된 onKeypress 이벤트에서 번호가 매겨진 키 값을 가져오고 싶습니다. 열쇠 123 ... 9와 다른 동작을 링크하는 웹 응용 프로그램을 만들려고합니다. 또한 shift-123 ... 9. 문제는 Shift 키를 사용하여 keypress 이벤트를 가져올 때 shift-value 및 shift가 true 인 경우에만 얻을 수 있다는 것입니다.Shift 키를 누른 채 키 누르기 이벤트에서 번호가 매겨진 키의 원래 키 맵을 얻으려면 어떻게해야합니까?
shift-1
shiftKey: true
key: "!"
"!"에서 값 1을 얻는 방법을 찾고 싶습니다. "!"이외의 다른 문자가있는 다른 키보드에 대해서도 걱정이됩니다. shift-1을 누르면. AZERTY 키보드와 비슷합니다.
http://mentalfloss.com/article/52483/6-non-qwerty-keyboard-layouts
shift 키를 누르지 않은 것처럼 shift-keypress 이벤트의 원래 값을 얻으려면 어떻게해야합니까?
업데이트는 반응을 언급합니다 :
@HostListener('document:keypress', ['$event'])
handleKeyboardEvent(event: KeyboardEvent) {
let keyNumber = Number.parseInt(event.key);
if (keyNumber !== NaN && keyNumber !== 0) {
if (event.shiftKey === false && keyNumber <= this.documents.length) {
// use number to access some array
this.currentDocument = this.documents[--keyNumber];
} else if (keyNumber <= this.currentDocument.toc.length) { // I'll see if they go past 10..
// PROBLEM HERE trying to get number to also access an array
this.routeToFragment(this.currentDocument.toc[--keyNumber].slug); // this is NaN until I can convert "[email protected]#$%..("
}
}
}
당신이 시도 것을 보여주십시오. * "단지 시프트 값을 얻을 수 있습니다"*는 실제로 의미가 없습니다 – charlietfl
방금 내 코드 예제를 게시했습니다 – Jonathan002