js TextArea 선택 영역 처리
getStartPos : function( textarea )
{
if ( typeof textarea.selectionStart != 'undefined' )
{ // IE
start = textarea.selectionStart;
}
else
{ // IE
var range = document.selection.createRange();
var range_textarea = document.body.createTextRange();
range_textarea .moveToElementText(textarea);
// start point
for ( var sel_start = 0; range_textarea .compareEndPoints('StartToStart' , range) < 0; sel_start++)
range_textarea .moveStart( 'character', 1);
start = sel_start;
} // else
return start;
}
그러나 주의해 야 할 것 은 chrome 에서 textarea 를 readonley 로 설정 하면 textarea 에 입력 커서 가 나타 나 지 않 고 돌아 오 는 selection Start 와 selection End 는 모두 0.fireforx 아래 가 정상 입 니 다.(2)Textarea 에서 선택 한 영역 을 설정 합 니 다.IE 가 아 닌 브 라 우 저 는 set Selection Range 방법 으로 선택 한 문자 범 위 를 지정 합 니 다.IE 는 지원 하지 않 으 며 TextRange 를 통 해 작 동 합 니 다.여기 서 주의해 야 할 것 은 IE 에서 Textarea 의 선택 구간 의 상대 적 인 위치 문제 입 니 다.아래 코드 가 먼저 moveStart 이 고 moveEnd 는 출발점 과 종점 을 모두 0 으로 설정 합 니 다.collapse 이동 이 효력 이 발생 한 후에 출발점 이 변 하지 않 습 니 다.먼저 moveEnd 이동 구간 의 종점 을 이동 한 다음 에 moveStart 이동 구간 의 출발점 은 출발점 point 를 바 꾸 지 않 기 전에 상대 적 인 위치 가 변 하지 않 고 이해 하기 쉽 습 니 다
/**
* textarea
*/
setSelectRange : function( textarea, start, end )
{
if ( typeof textarea.createTextRange != 'undefined' )// IE
{
var range = textarea.createTextRange();
// 0
range.moveStart( "character", 0)
range.moveEnd( "character", 0);
range.collapse( true); // start
range.moveEnd( "character", end);
range.moveStart( "character", start);
range.select();
} // if
else if ( typeof textarea.setSelectionRange != 'undefined' )
{
textarea.setSelectionRange(start, end);
textarea.focus();
} // else
}
선택 한 영역 가 져 오기 및 설정 방법 을 실현 한 후에 다른 텍스트 삽입,교체 의 실현 은 비교적 간단 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
javascript TextArea 동적 표시 남 은 문자남 은 글자 수의 제한 남 은 문자:...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.