chrome setSelectionRange() ne fonctionne pas dans oninput gestionnaire

Je suis en train de travailler avec certains d'auto-complétion de code. setSelectionRange() est utilisé pour sélectionner le texte à été achevé en oninput gestionnaire d'événement. Il fonctionne au moins dans Firefox 14, mais pas dans Chrome(6, 17).

Simplifié extrait de code montrant le problème est comme ceci:

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

J'ai débogué le code de chrome, et il s'avère que le texte a été sélectionné à la première à droite après le setSelectionRange() été exécuté, mais la sélection a disparu plus tard.

Si je la lie le gestionnaire onclick au lieu de oninput, comme ceci:

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

puis les deux navigateurs, beau travail.

Quelqu'un peut me donner des indices pour faire le travail de sélection dans Chrome?

InformationsquelleAutor bigbug | 2012-07-30