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

Val*_*mas 3 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);
Run Code Online (Sandbox Code Playgroud)

Sea*_*ira 6

这确实是Chromium的一个问题(也是一个两年前的问题).为了让Chrome行为相同,火狐,只是包裹的内容doSelectsetTimeout电话:

function doSelect(sender, e) {
    setTimeout(function(){
        sender.setSelectionRange(0, 5);
    }, 0);
}
Run Code Online (Sandbox Code Playgroud)

另见:更新的JS Fiddle


更新:该错误现已标记为FIXED并将在Chrome 39中提供.