Как правильно обрабатывать поля ввода текста справа налево?

Я работаю над мультиязычной раскладкой. Что меня беспокоит:

Как правильно обрабатывать ввод текста?

Я создал JSFiddle, чтобы объяснить свою проблему.

  1. Если я просто добавлю dir="rtl", слова будут отображаться справа налево, но не каждый символ
  2. Если я добавлю стиль CSS для письма справа налево, включенные числа также будут перевернуты

Как я могу объединить числа и текст, чтобы ввод на иврите отображался правильно?


person ohboy21    schedule 14.10.2014    source источник
comment
Вы пробовали печатать с включенной ивритской клавиатурой?   -  person Bojan Petkovski    schedule 14.10.2014
comment
Да, это не работает так, как я ожидал.   -  person ohboy21    schedule 14.10.2014


Ответы (1)


Вы можете попробовать это решение из здесь

Пример http://jsfiddle.net/0w5rydrL/1/

HTML

<div class="text_direction" dir="rtl">
    <input type="text" onkeyup="rtl(this);" />
</div>

Функция JavaScript

function rtl(element){   
    if(element.setSelectionRange){
        element.setSelectionRange(0,0);
    }
}
person Bojan Petkovski    schedule 14.10.2014
comment
осторожно: если вы печатаете быстро, это решение испортит символы - person Wavemaster; 14.10.2014