我有一个 HTML 中的文本区域,就像这样:
<textarea name="tx1" style="direction:ltr;"></textarea>
现在,当用户切换到阿拉伯语时,我想要更改输入文本的方向或对齐方式。 不需要任何问题、按钮或提交,我想知道用户在输入时所使用的语言。如果用户使用阿拉伯语,则将文本区域设置为右对齐;如果使用英语,则将其设置为左对齐。
我有一个 HTML 中的文本区域,就像这样:
<textarea name="tx1" style="direction:ltr;"></textarea>
现在,当用户切换到阿拉伯语时,我想要更改输入文本的方向或对齐方式。 不需要任何问题、按钮或提交,我想知道用户在输入时所使用的语言。如果用户使用阿拉伯语,则将文本区域设置为右对齐;如果使用英语,则将其设置为左对齐。
textarea{
text-align: start;
unicode-bidi: plaintext;
}
这个解决方案适用于Chrome和火狐浏览器,但不适用于微软Edge浏览器。
如果您不告诉我们如何更改用户语言,我们无法提供帮助。我想您将不得不使用超文本预处理器(如PHP)或在两种语言中复制页面。
如果您对我所说的一无所知,我可以为您适应使用jQuery。然而,如果您不做任何其他预处理类型的操作,这并不是一个好的实践。
var isArabic = false;
if (isArabic) {
$("textarea").css("direction", "rtl");
}
编辑
我刚刚理解了您想要问什么。
明白了:
var language;
$('#element').keypress(function() {
language = window.navigator.userLanguage || window.navigator.language;
if (language=="language_code_using_LTR") {
$(this).css("direction", "rtl");
}
});
当语言下拉菜单发生更改时,如果下拉菜单中选定的值为阿拉伯语,则添加类到 body,然后基于该类编写样式。
更改元素的所有属性将导致性能问题,并不建议。谢谢。
示例如下:
body.direction_rtl textarea
{
direction:ltr;
}
"direction_rtl" 你正在从脚本中添加类
提及所有需要从右到左对齐的元素