从右到左文本HTML输入

问题描述 投票:28回答:6

对于我的网站,我需要提供阿拉伯语支持。其中一部分是提供输入文本框,当用户键入时,新字符必须附加到左侧,文本必须右对齐。

将css属性设置为

text-align:right

没有用,因为我无法将光标移到左边并在那里添加字母。所以我删除了该属性并添加了

direction:RTL

在这里,光标向左移动,文本右对齐。但是新添加的字符没有附加到左侧。相反,他们只被附加到右端。

我该如何解决?请帮忙..

例如,请参阅Google阿拉伯语页面搜索框。我需要确切的行为,虽然不是那些花哨的键盘图标等,http://www.google.com/webhp?hl=ar

css input arabic right-to-left
6个回答
28
投票

这是我能想到的:

  • 使用direction:RTL进行右对齐
  • 编写一个附加到事件的JavaScript处理程序:“onkeyup”,它执行将输入字符移位到LEFT(进行一些文本处理)。

27
投票

您可以在输入中使用dir =“rtl”。它受到支持。

<input dir="rtl" id="foo"/>

8
投票
function rtl(element)
{   
    if(element.setSelectionRange){
        element.setSelectionRange(0,0);
    }
}




<input type="text" name="textbox" style="direction:RTL;" onkeyup="rtl(this);"/>

这段代码可以。


4
投票

仅使用direction:RTL并在系统设置中切换到正确的键盘(例如阿拉伯语)时,新添加的字符将正确添加到左侧。


1
投票

用于css中的输入。

input {
  unicode-bidi:bidi-override;
  direction: RTL;
}

0
投票

除了方向:rtl之外,Angular Material特有的特征是:

.mat-form-field {
   text-align: start!important;
 }

这适用于RLT和LTR


0
投票

它适用于Chrome浏览器。 使用div元素并使其可编辑。

    <div contenteditable="true">
    </div>
© www.soinside.com 2019 - 2024. All rights reserved.