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?