일부 자동 완성 코드로 작업하고 있습니다. setSelectionRange()
은 oninput
이벤트 핸들러에서 완료된 텍스트를 선택하는 데 사용됩니다. 적어도 Firefox 14에서는 작동하지만 Chrome에서는 작동하지 않습니다 (6, 17).크롬 setSelectionRange()가 oninput 처리기에서 작동하지 않습니다.
<input type='text' oninput='select()' />
function select(e){
var s = this.value;
if (s.length)
this.setSelectionRange(s.length-1, s.length);
}
내가 크롬의 코드를 디버깅, 그리고 그것은 setSelectionRange()
이 실행 된 후 텍스트가 먼저 오른쪽에 선택되어 끈다 : 문제를 보여
단순화 된 코드는 다음과 같이이다 , 그러나 선택은 나중에 사라졌다.
는이 같은, onclick
대신 oninput
에 처리기를 바인딩 할 경우
<input type='text' onclick='select()' />
다음 두 브라우저가 잘 작동합니다.
아무도 Chrome에서 선택 작업을 수행 할 수있는 단서를 제공 할 수 있습니까?
그것은 당신이 호출 할 필요가 있다고되었을 수 있습니다'this.focus()'setSelectionRange 호출하기 전에(). 예제보기 https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange#Example –