입력 상자(입력/텍스트 영역)가 포커스를 받으면 포커스를 끝으로 이동하는 것이 사용자 경험이 좋은 경우도 있습니다. 인터넷에 있는 대부분의 방법은 IE 브라우저용입니다.
코드는 다음과 같습니다.
var el = document.getElementById('txtArticle'); var range = el.createTextRange(); range.moveStart('character', el.value.length); range.collapse(false); range.select();
실제로 moveStart 줄을 삭제할 수 있습니다. 왜냐하면 createTextRange 메서드가 범위인 경우 축소 메소드와 매개변수를 사용합니다. false인 경우 끝으로 이동할 수 있습니다. Collapse(true)는 커서를 범위의 시작 부분으로 이동하고,collapse(false)는 커서를 범위의 끝 부분으로 이동합니다. Firefox와 같은 표준 브라우저는 w3c의 setSelectionRange 메소드를 사용할 수 있습니다.
코드는 다음과 같습니다.
var range, el = document.getElementById('txtPhone'); if (el.setSelectionRange) { el.focus(); el.setSelectionRange(el.value.length, el.value.length) } else { range = el.createTextRange(); range.collapse(false); range.select(); }
setSelectionRange 메소드는 입력/텍스트 영역 요소에만 적용됩니다. 기본이 아닌 편집 가능한 다른 요소의 초점은 선택 개체의 축소 방법으로 이동할 수 있습니다.
예:
var sel, el = document.getElementById('hint'); sel = window.getSelection(); sel.collapse(el, 1); el.focus();