如何使用javascript在android浏览器的输入中设置光标位置
我想在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
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();
}