从右到左文本HTML输入

时间:2011-09-23 05:57:10

标签: css input arabic right-to-left

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

将css属性设置为

text-align:right

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

direction:RTL

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

我该如何解决这个问题?请帮忙..

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

8 个答案:

答案 0 :(得分:27)

这是我能想到的:

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

答案 1 :(得分:26)

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

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

答案 2 :(得分:8)

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




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

这段代码可以。

答案 3 :(得分:5)

只需使用此CSS,它将从右到左更改文本字段和光标位置。

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

答案 4 :(得分:4)

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

答案 5 :(得分:0)

使用css。

中的输入
input {
  unicode-bidi:bidi-override;
  direction: RTL;
}

答案 6 :(得分:0)

除方向:rtl外,特定于Angular Material的特征是:

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

这将同时适用于RLT和LTR

答案 7 :(得分:0)

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

    <div contenteditable="true">
    </div>