2012-03-29 3 views
6

Android 기본 브라우저는 비 라틴 문자를 입력하면 텍스트 입력시 OnKeyUp 이벤트를 발생시키지 않습니다. 예 : http://jsfiddle.net/Hzjhz/. 영어 문자는 작동하지만 러시아어 및 한국어 문자는 작동하지 않습니다.Android가 아닌 라틴 언어 용 Android 브라우저의 OnKeyUp 이벤트

문제를 방지하는 방법이 있습니까?

+1

Android Safari ?? –

+0

@ Péter Varga : 죄송합니다. 기본 Android 브라우저를 의미했습니다. WebKit을 사용하기 때문에 'Safari'라고 말한 것입니다. 통지에 대한 질문과 질문을 변경했습니다. – Egor4eg

+0

네, 유닉스 키보드 키를 사용할 때 키 스트림이나 키 코드를 반환하지 않을 것입니다. – Sandy09

답변

2

ICS를 실행하는 Nexus S 휴대 전화에서 문제를 확인할 수 있습니다. 이 질문에 대한 직접적인 대답은 없지만 몇 가지 대안을 제안 할 수 있습니다.

  1. onBlur 이벤트도 바인딩하면 사용자가 입력 한 데이터를 확인할 수 있습니다.
  2. 다른 대안은 onFocus 이벤트에서 setTimeout을 바인딩하고 사용자가 입력 한 텍스트가 변경되었는지 확인하는 것입니다.
+0

아마, 나는 임시 해결책을 사용할 것이다. 실제로 텍스트 상자는 즉석 검색 제어에 사용됩니다. 'onclick'처리기를 추가하여 'onkeyup'처리기뿐만 아니라 검색을 시작하겠습니다. 다행히도, 우리 회사의 내부 사용자가 내 응용 프로그램을 사용할 것이므로 필요할 때 검색 상자를 탭할 수 있습니다. – Egor4eg

+0

onclick 이벤트보다는 onFocus 이벤트를 사용하는 것이 좋습니다. 누군가가 탭을 직접 클릭/탭하는 대신 컨트롤에 도달하면 도움이됩니다. – Sudar

+0

사용자에게 텍스트 상자에 검색 조건을 입력하고 그 후에 텍스트 상자를 다시 클릭하도록 말하고 싶습니다. 내가 아는 한 onFocus 이벤트는 사용자가 텍스트 상자를 선택할 때 한 번만 발생합니다. – Egor4eg

0

비 라틴어 IME 문자에 onKeyMultiple을 사용해보세요. 나는 이것을 브라우저에 사용하지 않았지만 다른 용도로는 응용 프로그램 내에서 사용했다.

당신이 이것을 시도해야합니다, 만약 내가 그 이론적 근거를 말할 것입니다.

+0

나는 그것을 시도했다. 이드는 일하지 않았다. 'onKeyMultiple'이벤트가 브라우저에서 시작되지 않았습니다. – Egor4eg

0

시도 InputEvent, 기본 Android 브라우저에서 작동합니다. 크롬에서 작동하지 않습니다

관련 문제