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?