其实我的问题很小......你需要眼镜才能看到它:-)
。好的,请执行以下操作:
..!
写入textarea س
..!
中点之间的空格将会改变。为什么呢?同样,这个问题确实可以忽略不计,但这让我很紧张。为什么当我设置方向到textarea (如rtl
)时,该textarea的值将被更改(有点)?
这是我的代码:
$("body").on('input', 'textarea', function() {
var el = $(this);
var len = el.val().length;
// declare direction of comment in textarea
var x = /^[^a-zآ-ی]*[a-z]/i; // is ascii
var isAscii = x.test(el.val());
if(isAscii){
el.css("direction", "ltr");
} else {
el.css("direction", "rtl");
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea>dynamic direction</textarea>
顺便说一下,为了更清楚我在说什么,下面的图片就是截图。如您所见,两种情况下的点数相同,但第二种情况更宽。为什么呢?
答案 0 :(得分:1)
这是由于字符编码。当我们谈论RTL时,字符编码设置为UNICODE,这是一组超级ASCII码(字母+符号)。
RTL脚本用于波斯语,阿拉伯语,乌尔都语等。
Unicode在输入时占用更多空间。您可以阅读有关RTL和Unicode here
的更多信息