2011-06-12 2 views
0

다음 두 가지를 고려하십시오. <input> : http://jsfiddle.net/T7gUX/ 영어와 히브리어/아랍어 문자가 혼합되어 있습니다 (둘 다 오른쪽에서 왼쪽 방향 사용). 의 상관없이 방향성을 - 항상 시각적 순서대로 처리됩니다 좌/우 -혼합 RTL/LTR 텍스트의 왼쪽/오른쪽 캐럿 탐색

  1. FF/GC :

    질문 VK_LEFT/VK_RIGHT (키보드 키)와 같은 텍스트의 처리에 대해, 우리는 두 가지 옵션이 있습니다 문자 은 캐럿 아래에 있습니다. LEFT은 캐럿을 항상 왼쪽으로 이동시킵니다.

  2. IE - LEFT/RIGHT가 왼쪽/오른쪽에 일치합니다. RTL 문자 (예 : 영어) 캐럿 이동이 반대 - LEFT을 누르면 오른쪽으로 캐럿이 이동합니다.

올바른 동작은 무엇입니까? 여기에 "올바른"용어가 적용될 수 있습니다.

답변

0

죄송하지만 IE 방식이 정확합니다. MS는 사람들에게 i18n을 할애하고, 내가 말할 수있는 것으로부터, IE는 i18n의 측면에서 최고의 웹 브라우저입니다 (아직까지는 정확하지는 않지만).

내가 아는 한, Windows의 다른 모든 텍스트 상자 컨트롤은 IE와 똑같이 동작합니다. Gecko (문제의 근원지)가이 동작을 잘못 구현 한 것 같습니다 (유니 코드 문자 방향성 무시).

BTW. "스크롤링"이 조금 혼란 스러울 때 갑자기 방향이 바뀌 었습니다 ... 그러나 양방향 텍스트를 자주 입력하는 사람들에게는 옳은 것처럼 보입니다.

+0

다음 변형을 고려하십시오. http://jsfiddle.net/T7gUX/1/ LTR 문자 만 포함 된 dir = rtl이있는 입력이 있습니다. 캐럿 방향은 여전히 ​​반대 방향입니다. 나를 위해 잘못한 것 같습니다. 문제는 개인적으로 RTL 언어를 모르기 때문에 개인적인 의견이 적절하지 않다는 것입니다. –

+0

내가하고있는 것과 똑같은 것을 보았는지 확신 할 수는 없지만 IE9는 정확히 반대 방향으로 움직입니다 - 영어 (LTR) 텍스트에서 오른쪽 화살표를 누르고 히브리어에서 오른쪽 화살표를 누르면 캐럿 이동이 남아 있습니다. 결함이 될 수 있습니다. –

+0

그게 내가 묻는 것입니다. SHIFT + LEFT/RIGHT (선택)를 사용하면 모든 브라우저가 동일하게 작동합니다. –