我试图在Angularjs的指令中执行类似的操作。问题是,这在系统中工作正常,但是当我在Android手机中检查它时,无法设置插入标记的位置。我也在几个博客和网站上进行了检查,Android设备中是否有解决方案?
elem.bind("input", function(event) {
var start = elem[0].selectionStart;
if(start == 1 && event.currentTarget.value.charAt(start-1)==" "){
var value = event.currentTarget.value.trim();
event.currentTarget.value = value;
elem[0].setSelectionRange(0, 0);
}
}
是的,如果我不使用setSelectionRange,它将插入符号移到末尾。
最佳答案
我有同样的问题,我用了这个建议,对我有用
Why the setSelectionRange can't work on android 2.3 platform browser
尝试使用包装您的“setSelectionRange”
“setTimeout,间隔为0”
不应解决您的问题。
例如:
var start = elem[0].selectionStart;
if(start == 1 && event.currentTarget.value.charAt(start-1)==" "){
var value = event.currentTarget.value.trim();
event.currentTarget.value = value;
setTimeout(() => elem[0].setSelectionRange(0, 0),0);
}
关于javascript - 函数setSelectionRange在Android浏览器中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41353891/