핵심 코드:
(function($){
$.fn.extend({
"insert":function(value){
//기본 매개변수
value=$.extend({
"text":"123"
} ,value);
var dthis = $(this)[0]; //jQuery 객체를 DOM 요소로 변환
//IE
if(document.selection){
$ (dthis ).focus(); //입력 요소 textara가 포커스를 얻음
var fus = document.selection.createRange();//커서 위치 가져오기
fus.text = value.text; 커서 위치
$(dthis).focus(); ///입력 요소 textara가 포커스를 얻습니다
}
//Firefox의 표준
else if(dthis.selectionStart || dthis.selectionStart == '0'){
var start = dthis.selectionStart; //포커스 전 좌표 가져오기
var end =dthis.selectionEnd; //포커스 후 좌표 가져오기
//다음 문장이 앞에 있어야 합니다. 포커스와 포커스 뒤의 위치에 전달한 값을 삽입합니다. 그런 다음 텍스트 상자
dthis.value = dthis.value.substring(0, start) value.text dthis.value에 새 값을 할당합니다. substring(end, dthis.value.length); }
// 입력 요소 textara에 커서가 위치하지 않은 경우
else{
this.value = value.text();
};
return $(this) 이때 입력 상자에 지정된 값을 삽입합니다. ?
1. 요소를 클릭하면 입력 상자에 초점이 맞춰져야 합니다. 왜냐하면 초점이 맞춰진 경우에만 값을 입력할 수 있기 때문입니다.
IE: document.selection.createRange()
FF ; var start = dthis.selectionStart; //포커스 전 좌표 가져오기
var end =dthis.selectionEnd; //포커스 후 좌표 가져오기
2. 현재 입력 상자의 포커스 위치 가져오기
3. 입력 상자의 초점 위치로 이동 값을 삽입합니다.
4. 커서가 입력 상자에 있는지 확인합니다.
온라인 데모:
http://demo.jb51 .net/js/2012/myfocustext/
패키지 다운로드:
http://www.jb51.net/jiaoben/44153.html