相关疑难解决方法(0)

chrome setSelectionRange()在oninput处理程序中不起作用

我正在使用一些自动完成代码.setSelectionRange()用于选择在oninput事件处理程序中完成的文本.它至少适用于Firefox 14,但不适用于Chrome(6,17).

显示问题的简化代码段如下所示:

<input type='text' oninput='select()' />
Run Code Online (Sandbox Code Playgroud)
function select(e){
    var s = this.value;
    if (s.length)
        this.setSelectionRange(s.length-1, s.length);
}
Run Code Online (Sandbox Code Playgroud)

我在chrome中调试了代码,事实证明,文本在setSelectionRange()执行后首先被选中,但选择后来消失了.

如果我绑定处理程序onclick而不是oninput像这样:

<input type='text' onclick='select()' />
Run Code Online (Sandbox Code Playgroud)

然后两个浏览器工作正常.

任何人都可以给我一些线索,以便在Chrome中进行选择吗?

javascript google-chrome cross-browser

8
推荐指数
1
解决办法
1万
查看次数

标签 统计

cross-browser ×1

google-chrome ×1

javascript ×1