chrome setSelectionRange () не работает в обработчике oninput

Я работаю с некоторым кодом автозаполнения.setSelectionRange() используется для выбора текста, завершенного вoninput обработчик события. Это работает по крайней мере в Firefox 14, но не в Chrome (6, 17).

Упрощенный фрагмент кода, демонстрирующий проблему, выглядит следующим образом:

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

Я отладил код в Chrome, и оказалось, что текст был выделен сначала сразу послеsetSelectionRange() был выполнен, но выбор исчез позже.

Если я свяжу обработчик сonclick вместоoninput, как это:

<input type='text' onclick='select()' />

тогда оба браузера работают нормально.

Кто-нибудь может дать мне подсказку, как сделать выбор в Chrome?

Ответы на вопрос(1)

Ваш ответ на вопрос