Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.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在android浏览器的输入中设置光标位置_Javascript_Android Browser - Fatal编程技术网

如何使用javascript在android浏览器的输入中设置光标位置

如何使用javascript在android浏览器的输入中设置光标位置,javascript,android-browser,Javascript,Android Browser,我想在android浏览器上设置输入的光标位置。我正在使用以下代码: function setCaretPosition(ctrl, pos) { if(ctrl.setSelectionRange) { ctrl.focus(); ctrl.setSelectionRange(pos,pos); } else if (ctrl.createTextRange) { var range = ctrl.createT

我想在android浏览器上设置输入的光标位置。我正在使用以下代码:

function setCaretPosition(ctrl, pos)
{

    if(ctrl.setSelectionRange)
    {
        ctrl.focus();
        ctrl.setSelectionRange(pos,pos);
    }
    else if (ctrl.createTextRange) {
        var range = ctrl.createTextRange();
        range.collapse(true);
        range.moveEnd('character', pos);
        range.moveStart('character', pos);
        range.select();
    }
}
但是,ctrl.setSelectionRangepos,pos;在android浏览器上似乎不起作用。它在桌面上工作。有人知道如何在android浏览器上设置输入的光标位置吗

实际上,我之所以要设置光标位置,是因为我想在用户输入时禁用某些字符。我正在对oninput事件使用replace with正则表达式绑定。问题是在替换光标后,光标会转到输入中文本的末尾。当用户输入用户将光标移动到文本的中间,输入一些我不希望输入的字符时,我希望把光标保持在相同的位置。

< P>使用按键事件,可以在实际添加文本之前限制文本输入,而不是在删除之后输入。

示例显示仅可用于数字的输入

 function acceptText(){       
   if(event.charCode < 48 || event.charCode>57)
      event.preventDefault();
  }