Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在更改光标问题时输入rtl文本?_Javascript_Jquery - Fatal编程技术网

Javascript 在更改光标问题时输入rtl文本?

Javascript 在更改光标问题时输入rtl文本?,javascript,jquery,Javascript,Jquery,我在下面的JS Fiddle代码段中遇到了一个问题,当有人在输入中键入某些内容,然后他想通过向后键入字符来修改它,所以在按下backspace之后,即删除字符,以便光标自动从输入的当前位置移到输入的末尾 通常情况下不会发生这样的事,对吗 那么是什么导致了这一点&有没有办法解决这个问题 JS小提琴链接: var替换=[ [“a”,“ا”],[“a”,“آ”],[“b”,“ب”],[“b”,“آ”],[“c”,“چ”], [“C”、“ث”]、[“d”、“د”]、[“d”、“ډ”]、[“e”、“ع”

我在下面的JS Fiddle代码段中遇到了一个问题,当有人在输入中键入某些内容,然后他想通过向后键入字符来修改它,所以在按下backspace之后,即删除字符,以便光标自动从输入的当前位置移到输入的末尾

通常情况下不会发生这样的事,对吗

那么是什么导致了这一点&有没有办法解决这个问题

JS小提琴链接:

var替换=[
[“a”,“ا”],[“a”,“آ”],[“b”,“ب”],[“b”,“آ”],[“c”,“چ”],
[“C”、“ث”]、[“d”、“د”]、[“d”、“ډ”]、[“e”、“ع”]、[“e”、“ږ”],
[f]、[f]、[g]、[g]、[g]、[g]、[h]、[C]、[h]、[C]、[g]、[C]、[C]、[C]、[C]、[C]、[C]、[C]、[C]、[C]、[C]、[C]、[C]、[C]、[C]、[C]、,
[“H”、“ځ”]、[“i”、“ي”]、[“i”、“ې”]、[“j”、“ج”]、[“j”、“ض”],
[“k”,“ک”],[“k”,“خ”],[“l”,“ل”],[“l”,“م”],[“m”,“م”],
[M]、[n”、“ن”]、[n”、“ڼ”]、[o”、“ه”]、[o”、“ۀ”],
[“p”,“پ”],[“p”,“څ”],[“q”,“ق”],[“q”,“ښ”],[“r”,“څ”],
[“R”、“ړ”]、[“s”、“س”]、[“s”、“ā”]、[“t”、“ت”]、[“t”、“ټ”],
[“u”、“ئ”]、[“u”、“ۍ”]、[“v”、“ط”]、[“v”、“ظ”]、[“w”、“و”],
[“W”、“ؤ”]、[“x”、“ش”]、[“x”、“ژ”]、[“y”、“ے”]、[“y”、“ی”],
[“z”、“ز”]、[“z”、“ذ”]、[“?”、“؟”]、[“;”、“؛”]、[“0”、“۰”],
["1", "۱"], ["2", "۲"], ["3", "۳"], ["4", "۴"], ["5", "۵"],
["6", "۶"], ["7", "۷"], ["8", "۸"], ["9", "۹"]
].map(功能(c){
//逃避特殊角色
var-escaped=c[0]。替换(/[\-\[\]\/\{\\\\\\\(\)\*\+\?\。\\\^\$\\\\\;]/g,“\$&”);
//然后转换为正则表达式
c[0]=新的RegExp(转义为“g”);
返回c;
});
$(“#普什图语”)。关于(“输入”,函数(事件){
var car=$(this.val();
//现在,简单地用正则表达式替换
替换。forEach(功能(c){
汽车=汽车。更换(c[0],c[1]);
});
$(本).val(汽车);
});
普什图语{
方向:rtl;
文本对齐:右对齐;
字体大小:20px;
填充物:5px;
}


光标移到输入的末尾,因为您正在替换输入值,这很正常@chsdk:它应该如何保持在这个位置而不走到尽头?我想说这是一个问题,不是吗?因为在ltr文本中,当有人按backspace键时,光标会停留在原来的位置?我认为用当前代码执行这项操作并不容易,您需要更改整个逻辑。@chsdk:这是旧脚本的新版本,因为:光标会移到输入的末尾,因为您正在替换输入值,这很正常@chsdk:它应该如何保持在这个位置而不走到尽头?我想说这是一个问题,不是吗?因为在ltr文本中,当有人按backspace时,光标会停留在原来的位置?我认为用当前代码执行这项操作并不容易,您需要更改整个逻辑。@chsdk:这是旧脚本的新版本,如下所示: