Mos*_*rdy 8 javascript html5 bidi css3
在谷歌,加上(和很多其他地方),我想发布的东西,当我在波斯键入它,这是一个从右到左的语言,文字方向自动设置为RTL和text-alignment:right
,当我开始输入英文,它会自动更改为ltr和text-alignment:left
.我怎么能有这样的功能?这有什么用HTML5或Javascript?我应该遵循哪些线索?
提前致谢
ami*_*sim 15
添加dir=auto
到您的输入元素:
在表单和插入的文本上使用 dir="auto" 以自动检测运行时提供的内容的方向。
https://www.w3.org/International/questions/qa-html-dir#quickanswer
rea*_*arm 11
我有时会遇到dir=auto
无法工作的问题。
挖掘 CSS 后我发现
#container > * {
text-align: start;
unicode-bidi: plaintext;
}
Run Code Online (Sandbox Code Playgroud)
更加灵活通用
小智 6
我写了一个JQuery代码来做到这一点.只需将类"checkRTL"添加到要设置其方向的元素即可.
var rtlChar = /[\u0590-\u083F]|[\u08A0-\u08FF]|[\uFB1D-\uFDFF]|[\uFE70-\uFEFF]/mg;
$(document).ready(function(){
$('.checkRTL').keyup(function(){
var isRTL = this.value.match(rtlChar);
if(isRTL !== null) {
this.style.direction = 'rtl';
}
else {
this.style.direction = 'ltr';
}
});
});
Run Code Online (Sandbox Code Playgroud)