Нужно ли указывать направление: rtl в поле ввода текста? - PullRequest
0 голосов
/ 15 октября 2018

Я разрабатываю виджет палитры цветов, в котором мы поддерживаем RTL .У нас есть шестнадцатеричное поле с префиксом #, которое является полем ввода текста.Если я даю направление: rtl к текстовому полю, оно действует иначе, набранный символ добавляется к тексту, но курсор находится слева от текста.

Чтобы убедиться в этом, я изменил язык на арабский и работал в Mac.Когда я выбираю английскую клавиатуру, поле ввода ltr, только выравнивание текста направо, а когда я выбираю арабскую клавиатуру, поле ввода становится rtl.Если операционная система сама обрабатывает текстовое поле на основе языка клавиатуры, необходимо ли указывать direction: rtl для шестнадцатеричного поля в ColorPicker?

Примечание: Если я даю rtl шестнадцатеричному полю, # присоединяется к концу, если первая буква представляет собой алфавит, к тексту добавляется префикс,если первая буква числоваяВы можете проверить эту скрипку - https://jsfiddle.net/brindhaa10/cv04o8wr/

Код:

  <div class="rtl">
  <h4>
      RTL 
  </h4>
   <div class="row">  
       <input value="#ffffff" /> 
       <span> In RTL, when <b>#</b> precedes an alphabet, it is repositioned to the end </span>
  </div>
  <div class="row">
      <input value="#000fff" /> 
       <span> In RTL, when <b>#</b> precedes a number, it is not repositioned. </span>
  </div>
</div>

Та же проблема возникает для процентного поля , валютного поля и т. Д.Если это RTL, правильно ли переставлять символы Пример: 100% будет отображаться как % 100 в RTL.

1 Ответ

0 голосов
/ 15 октября 2018

Вам потребуется расширить настройку направления до нейтральных и слабых символов с помощью символов RLM, которые можно кодировать как &rlm; или &#x200F;.Поэтому, в основном, все, что вам нужно сделать, это добавить символ RLM в конце символа # ...

<input value="#&#x200F;000fff" /> 

См. Фрагмент ниже ...

<div style="direction:rtl">
  <input value="#&rlm;00ffff" />
</div>
...