2013-04-16 3 views
2
$(document).ready(function() { 
    $("#id").keydown(function() { 

    }); 
}) 

이 코드는 일본어 텍스트를 제외한 모든 문자 (숫자, 알파벳, 기호 등)에서 완벽하게 작동합니다. 키 누름시이 이벤트를 통과하지 않습니다. 아무도 어떤 해결책을 알고 있습니까?일본어 텍스트의 키 누르기 이벤트

+1

'일본어 텍스트'는 무엇을 의미합니까? 일본어 키보드 레이아웃/입력 방법? –

+0

해결책은 JavaScript를 사용하여 웹 페이지에 자신의 IME를 작성하는 것입니다. 이것은 쉬운 일이 아니지만, 실제로는 할 수 있습니다. – Pacerier

+0

@SethJeremiMalaki 예 – sujal

답변

3

할 수있는 일은 거의 없습니다. "일본어 텍스트"란 키보드 입력을 가로 채서 일본어 텍스트로 변환하는 소프트웨어 인 IME를 의미합니다. 이 소프트웨어가 브라우저 및 브라우저의 Javascript 엔진과 상호 작용하거나 상호 작용하지 않는 방법은 OS, IME, 브라우저 및 브라우저의 Javascript 엔진에 따라 다릅니다. 일부 플랫폼에서는 키 누르기가 신호를 받지만 다른 플랫폼에서는 그렇지 않습니다. keyup 또는 keypress과 같은 다른 이벤트에 바인딩하면 IME를 사용할 때조차도 신호를받을 수 있습니다.

당신이 할 수있는 최선의 방법은 키 누르기 이벤트에 의존하지 않고, 가로 채기를 할 수없는 경우 폴백 옵션을 사용하는 것입니다. 예 : 텍스트 필드의 change 이벤트에 바인딩하고 전체 텍스트 변경을 처리합니다. 이 IME 입력의 끝에서 트리거됩니다.

+0

즉 일본어 텍스트에 키 업 또는 다운 이벤트를 사용할 방법이 없다는 의미입니까? – sujal

+0

@sujal 사용할 수있는 * 보장 할 방법이 없습니다. – deceze

+0

@sujal, ** 당신이 ** 정말로 ** 필요하다면 웹 페이지에 항상 자신 만의 IME *를 만들 수 있습니다. 요즈음 자바 스크립트가 가능합니다. – Pacerier

관련 문제