javascript textarea 커서 포 지 셔 닝 방법(IE 와 FF 호 환)

오늘 블 로그 리 트 윗 기능 을 하고 있 습 니 다.시 나 닷 컴 의 얇 은 중계 기능 처럼 textArea 가 있 습 니 다.바로 우리 가 얇 은 상 자 를 보 내 는 것 입 니 다.다른 사람의 얇 은 부분 은 모두 리 트 윗 버튼 이 있 습 니 다.우리 가 이 리 트 윗 단 추 를 누 르 면 그의 얇 은 부분 은 textArea 에 들 어 갑 니 다.간단 해 보 이 는 텍스트 상자 의 할당 입 니 다.사실은 어 려 운 점 은 바로...이때 커서 는 맨 앞 에 있 습 니 다.그래서 baidu,google 을 검색 하여 IE 아래 의 방법 을 찾 았 습 니 다
 
var tea=document.getElementById(" ID");
var txt=textArea.createTextRange();
txt.moveEnd("character",0-tempText.text.length);
txt.select();
그러나 이 방법 은 IE 의 브 라 우 저 아래 에서 만 사용 할 수 있 습 니 다.그래서 인터넷 검색 을 통 해 블 로그 google N 을 찾 았 습 니 다.여러 가지 방법 을 시 도 했 습 니 다.대부분 IE 를 지원 하지 않 는 것 이 아니 라 IE ONLY 입 니 다.마지막 스승 님 께 서 저 에 게 오래된 페이지 에 이 기능 이 있다 고 알려 주 셨 습 니 다.그 코드 를 찾 아 해 보 았 습 니 다.IE 와 FF 모두 성공!코드 를 공유 하 세 요
 
function locatePoint(){
var aCtrl = document.getElementById("txtContent");
if (aCtrl.setSelectionRange) {
setTimeout(function() {
aCtrl.setSelectionRange(0, 0); // textarea ,
aCtrl.focus();
}, 0);
}else if (aCtrl.createTextRange) {
var textArea=document.getElementById("txtContent");
var tempText=textArea.createTextRange();
tempText.moveEnd("character",0-tempText.text.length);
tempText.select();
}
}
FF 아래 방법 을 찾 았 습 니 다
 
var tea=document.getElementById(" ID");
tea.setSelectionRange(0, 0); // textarea ,
tea.focus();
그래서 호 환 하 는 방법 은 if 로 판단 할 수 있 습 니 다.통합 방법 은 다음 과 같 습 니 다.그 댓 글 에서 보 듯 이 html 부분
 
<input id="tea" type="text" size="100" value="">
<button onclick="xx()"> </button>
JS 부분
 
<script language="javascript">
var tea = document.getElementById("tea");
function locatePoint(){
if (tea.setSelectionRange) {
setTimeout(function() {
tea.setSelectionRange(0, 0); // textarea ,
tea.focus();
}, 0);
}else if (tea.createTextRange) {
var txt=tea.createTextRange();
txt.moveEnd("character",0-txt.text.length);
txt.select();
}
}
function xx(){
tea.value = 'bbb';
locatePoint();
}
</script>

좋은 웹페이지 즐겨찾기