독자적으로 텍스트 입력을 처리해야하는 contenteditable 기반 위젯을 작성했습니다. 내가 예를 들어, 말 (죽은 키 구성을 통해 AltGr 키를 입력 비 ASCII 문자로 내 로컬 시스템을 구성하는 경우,구성된 문자를 감지하여 일부를 무시합니다.
container_element.addEventListener('keypress', function(event) {
if (event.ctrlKey || event.altKey || event.metaKey) {
return;
}
if (event.which != 0 && event.charCode != 0) {
event.preventDefault();
var c = String.fromCharCode(event.which);
handle_character(c);
}
});
지금 :이 같은 뭔가 ASCII와 비 ASCII 문자를 모두 처리하는 매우 간단합니다), 위의 비참하게 실패합니다. Google 워드 프로세서와 같은 화려한 편집자는 외부 플러그인을 필요로하지 않고 다양한 OS 및 브라우저에서이 사례를 상당히 잘 처리 할 수 있습니다. 브라우저 발생 이벤트에서 은입니다. 데드 키의 합성 순서.
그러나 정확히 어떻게 하나의 브라우저/OS 조합 (예 : Chrome/Linux)이 있는지 알 수 없었습니다.
내 질문 : 누구 죽은 키 구성 시퀀스를받을 때 어떤 문자가 keypress 또는 keydown 처리기에서 입력되는 감지하는 방법을 알고 있습니까?