2013-12-17 3 views
1

일련의 입력 필드가있는 특수한 경우가 있는데 현재 입력 필드에서 입력 한 문자를 기반으로 다른 입력 필드로 전환합니다. 키워드가 공백으로 구분되거나 큰 따옴표로 묶인 키워드 검색과 같은 것입니다. 따라서 "인도"와 같은 단어를 둘러싼 큰 따옴표를 닫으면 키워드가되고 초점이 다음 입력 필드로 이동해야합니다.악센트 부호가있는 키보드에서 이중 이벤트 처리

이제 맥을 사용하여 엑센트가있는 문자를 입력 할 수있는 미국 (PC) 자판 배열이있는 Mac을 사용하고 있습니다. 예를 들어, "+ e = ë.

"what "과 같은 것을 입력하면 두 번째 따옴표 뒤에 공백이 생기고 초점이 새로운 입력 필드로 완벽하게 이동하지만 새로운 입력 필드에는 이미 "문자가 미리 채워져 있습니다!

일부 키보드 디버깅으로 인해 두 개의 keyup 이벤트가 발생하고 하나는 입력 할 때 입력하고 다음은 공백을 입력 할 때 발생합니다. 두 이벤트 (jQuery)의 event.keyCode는 모두 229이고 첫 번째 case, event.shiftKey가 참이고 그 다음이 false 일 때 "+ e"를 입력하면 두 번째 event.keyCode가 다시 229가되어 ë과 일치하지 않습니다.

두 가지 이벤트를 구별하는 데 도움이되지만 이에 대한 구체적인 수정 방법을 찾고 있습니다. 현재로서는이 문제를 해결할 수 없었습니다.

누구나 아이디어가 있다면 잘 될 것입니다.

답변

0

직접 문제를 해결했습니다. 아이디어는 event.shiftKey를 기반으로 두 이벤트를 구별하는 것입니다. 누군가가 큰 따옴표를 입력하고 그것을 입력하려고하면 event.shiftKey가 true입니다. 두 번째 이벤트는 큰 따옴표 다음에 큰 따옴표가있는 문자와 악센트 부호가있는 문자가 결합 된 문자를 누를 경우 새 발생 이벤트는 shiftKey = true이지만 event.keyCode = 229 (이는 동일 함),이를 통해 차별화 할 수 있습니다. 새로운 입력 필드가 여전히 팬텀을 수신하면이 두 이벤트가 감지 된 후에 수정이 가능합니다.

관련 문제