问题描述
|
考虑以下两个“ 0”:http://jsfiddle.net/T7gUX/
它们包含英语和希伯来语/阿拉伯语字符的组合(均使用从右到左方向)。
问题是关于此类文本中的VK_LEFT / VK_RIGHT(键盘键)处理,我们有两个选择:
FF / GC-始终向左/向右
以视觉顺序处理-没关系
角色的方向性
在插入符号下方-LEFT始终将插入符号向左移动。
IE-左/右匹配左/右打开
RTL字符,但在LTR上(例如
英文)插入符号的移动是反向的-按向左键将插入符号向右移动。
正确的行为是什么?如果“正确”一词在此处完全适用。
解决方法
我很抱歉地说,但是IE方式是正确的。 MS致力于i18n的开发,从我可以说的角度来看,就i18n而言,IE是最好的Web浏览器(尽管距离正确还很远)。
据我所知,Windows中的所有其他文本框控件的行为都类似于IE。似乎Gecko(问题的根源?)错误地实现了此行为(忽略Unicode字符方向性)。
顺便说一句。对我来说,“滚动”时方向突然改变有点令人困惑……但是,对于那些经常输入双向文本的人来说似乎是正确的。