【问题标题】:Function setSelectionRange is not working in Android browser函数 setSelectionRange 在 Android 浏览器中不起作用
【发布时间】:2016-12-28 00:32:43
【问题描述】:

我试图在 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,它会将插入符号移到末尾。

【问题讨论】:

    标签: javascript android jquery angularjs


    【解决方案1】:

    我有同样的问题,我使用了这个建议,它对我有用 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);
    }
    

    【讨论】:

      猜你喜欢
      • 2012-02-14
      • 1970-01-01
      • 1970-01-01
      • 2014-10-13
      • 2016-11-21
      • 2012-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多