javascript - 如何更改元素的文本方向?

标签 javascript html css

例如,在 Facebook 上,如果您为键盘选择了阿拉伯语,文本框会自动获得 RTL 方向。

如何在我的 Web 应用程序上实现它?我不知道使用的方法或属性。

最佳答案

您可以使用 CSS direction 属性来实现这一点:

input{
  direction: rtl;
}

更新

要根据用户输入动态更改文本方向,您可以检查输入的第一个字符是否符合给定条件,在本例中为正则表达式。

$('input').keyup(function(){
    $this = $(this);
    if($this.val().length == 1)
    {
        var x =  new RegExp("[\x00-\x80]+"); // is ascii

        //alert(x.test($this.val()));

        var isAscii = x.test($this.val());

        if(isAscii)
        {
            $this.css("direction", "ltr");
        }
        else
        {
            $this.css("direction", "rtl");
        }
    }

});

这是一个基本示例,它对 ascii 文本使用 ltr 方向,对其他所有内容使用 rtl

Here's a working example.

关于javascript - 如何更改元素的文本方向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7770235/

相关文章:

javascript - 使用 javascript php 将隐藏 ID 值传递到另一个页面

JavaScript 何时使用数组对象与对象数组?

html - 让我的文字覆盖背景图片

css - 文本超出包含 div

html - 在主题自定义模式下使用 Shopify 主栏 block 制作图像网格

javascript - 在全局变量中存储 getJSON 数据,但后来说它未定义

javascript - 在 Javascript 中向字符串添加格式方法。

javascript - HTML Knockout 单选按钮调用函数

javascript - gl-matrix 未正确包含在 webgl 应用程序中

javascript - 使用javascript禁用onclick属性