第二次单击时,单击Chrome时的setSelectionRange不会选择

时间:2012-08-21 02:19:50

标签: javascript google-chrome

我有一个函数可以选择输入onclick的前5个字符。这适用于第一次点击。当输入框仍然具有焦点时,在chrome中,前5个字符内的第二次单击将删除选择,并且插入符号在单击位置处闪烁。

我希望前5个字符仍被选中。

这似乎是一个chrome问题,因为它在Firefox中运行良好。

这是我的小提琴: http://jsfiddle.net/valamas/3eaYq/2/

如何使用chrome?

我尝试使用

重置选择
sender.setSelectionRange(0, 1);
sender.setSelectionRange(0, 5);

1 个答案:

答案 0 :(得分:6)

这确实是an issue with Chromium(还有两年前的问题)。要使Chrome的行为与Firefox相同,只需在doSelect来电中包含setTimeout的内容:

function doSelect(sender, e) {
    setTimeout(function(){
        sender.setSelectionRange(0, 5);
    }, 0);
}

另请参阅:the updated JS Fiddle


更新:该错误现已标记为FIXED,将在Chrome 39中发布。