일반적인 프로그램에서 프로그래머들은 일반적으로 입력 상자의 내용이 올바른지 확인할 때 내용의 적법성을 판단하여 포커스 상자를 결정하는 것을 선호합니다.
좋다:
다음과 같이 코드 코드를 복사합니다.
if(obj.value==""){
obj.focus();
거짓을 반환;
}
이렇게 하면 입력 상자가 비어 있을 때 해당 입력 상자로 포커스가 이동하게 됩니다. 이 기능은 사용하기 매우 편리합니다. 하지만 작은 문제가 있습니다.
즉, obj.focus()가 입력 상자로 포커스를 이동한 후 텍스트 커서(즉, 깜박이는 수직선)를 입력 상자의 첫 번째 문자 위치로 이동하게 되는데... 위의 판단이 중요합니다..텍스트 상자에 내용이 없으면... obj.focus를 사용하면 텍스트 상자를 클릭하여 텍스트에 초점을 맞추지 않고도 텍스트 상자에 직접 내용을 입력할 수 있습니다.
하지만 텍스트 상자에 이미 내용이 있지만... 내용이 불법이라면 obj.focus()도 텍스트 상자의 첫 번째 문자 위치로 커서를 이동합니다... 이때 사용자 경험은 다음과 같습니다. 주목할 점은 디자이너가 우울하다는 것... 우리에게 필요한 것은 텍스트 상자에 초점을 맞춘 다음 텍스트 커서를 텍스트 상자 끝으로 이동하여 사용자가 텍스트를 클릭하지 않고도 내용을 직접 입력할 수 있도록 하는 것입니다. 텍스트 상자. 입력 내용이 원본 내용에 추가됩니다.
다음 코드는 이 작은 세부 사항을 완성할 수 있습니다.
다음과 같이 코드 코드를 복사합니다.
<스크립트 언어="자바스크립트">
함수 getSelectPos(obj){
var esrc = document.getElementById(obj);
if(esrc==null){
esrc=event.srcElement;
}
var rtextRange =esrc.createTextRange();
rtextRange.moveStart('character',esrc.value.length);
rtextRange.collapse(true);
rtextRange.select();
}
</script>
이 코드는 디자이너에게 사용자 경험의 세부적인 부분에 큰 도움이 될 것입니다...