更改文本对齐方式 更改语言后
Change Text Align After Change Language
我在HTML中有一个这样的文本区域:
<textarea name="tx1" style="direction:ltr;"></textarea>
现在,我想在用户将语言更改为阿拉伯语时更改输入文本的方向或对齐它们。任何问题或任何按钮或任何提交我想知道他打字时的用户语言。如果用户是阿拉伯语,请将文本区域对齐设置为右对齐。如果英语将其设置为左。
您只能通过 CSS 来完成:
textarea{
text-align: start;
unicode-bidi: plaintext;
}
演示
此解决方案适用于Chrome和FF,但不适用于Microsoft Edge。
我能想到的唯一方法是检查文本区域的值
var arabicPattern = /['u0600-'u06FF]/;
$('#text').bind('input propertychange', function(ev) {
var text = ev.target.value;
if (arabicPattern.test(text)) {
// arabic;
$('#text').css('direction', 'rtl')
}
});
但是仅检查阿拉伯语是不够的。您必须检查每个 rtl 脚本
工作示例
如果您不告诉我们如何更改用户的语言,我们将无法提供帮助。我想你将不得不使用超文本预处理器(如PHP)或复制两种语言的页面。
如果你对我告诉你的内容一无所知,我会调整它,以便你能够使用jQuery。但是,如果您不进行任何其他此类预处理,则这不是一个好的做法。
var isArabic = false;
if (isArabic) {
$("textarea").css("direction", "rtl");
}
如果您使用 PHP,则可以将用户语言存储在会话数组中,并且每当用户更改语言时,更改变量,以便预处理 HTML,使其显示 RTL。
编辑
我只是明白你想问什么。
明白了:
var language;
$('#element').keypress(function() {
language = window.navigator.userLanguage || window.navigator.language;
if (language=="language_code_using_LTR") {
$(this).css("direction", "rtl");
}
});
在"
更改语言"下拉列表中,如果下拉列表中的选定值显示阿拉伯语,则将类添加到正文,然后根据该类写入样式。
更改元素的所有属性将导致性能问题,并且不建议干杯。
示例如下:
body.direction_rtl textarea
{
direction:ltr;
}
"direction_rtl"您正在从脚本添加类
提及所有需要从右到左对齐的元素
相关文章:
- jquery移动对齐按钮取决于内容大小
- 如何在JavaScript图像滑块内居中对齐图像
- 为什么文本对齐:对;工作不正常
- 显示可链接的搜索结果+对齐方式
- 以Jquery为中心的Div中的图像对齐
- 无法将文本与图片垂直对齐
- 在这种情况下,如何正确对齐显示
- 使用jquery垂直对齐动态加载的图像
- 如何使 DIV 中的内容垂直对齐
- '填隙'当所述项目不在容器中时,将一些项目与引导程序网格对齐
- typeahead下拉结果向右对齐-向右拉
- css中的按钮对齐
- Wordpress 3级水平导航-需要jquery/javascript帮助进行对齐
- 嵌入的Vimeo与中心对齐
- HighMaps:在图例中对齐ColorAxis
- jqPlot对齐不同y轴的零
- 将两个图形(饼图和条形图)并排对齐::d3-js
- 如何在使用 UIWebView 编辑 HTML 内容时正确调整输入语言更改 (LTR/RTL) 的文本对齐方式
- 更改文本对齐方式 更改语言后
- 根据语言的不同,使用jQuery在左右文本对齐之间切换