>  기사  >  웹 프론트엔드  >  텍스트 필드 커서에 대한 jQuery 확장 공유

텍스트 필드 커서에 대한 jQuery 확장 공유

WBOY
WBOY원래의
2016-05-16 16:56:04941검색

텍스트 필드에 대한 이 확장 기능 및 사용법:
1. 커서 위치 가져오기: $(elem).iGetFieldPos()
2 커서 위치 설정: $(elem).iSelectField( start);
3. 지정된 위치의 문자를 선택합니다: $(elem).iSelectField(start,end)
4. 지정된 문자를 선택합니다: $(elem).iSelectStr(str); > 5. 커서 뒤에 문자열을 삽입합니다: $(elem).iAdd(str);
6. 커서 앞(-n) 또는 뒤(n)에서 n 문자 삭제: $(elem).iDel(n) ;

jQuery 확장 코드:

코드 복사 코드는 다음과 같습니다.

;(function($){
/*
* 텍스트 필드 커서 작업을 위한 jQuery 확장(선택, 추가, 삭제, 가져오기)
*/
$.fn. 확장({
                                                                                                           /* if(문서.선택){
                                                                                    > plicate();
dupRange.moveToElementText(필드);
dupRange.setEndPoint( 'EndToEnd',range);
field.selectionStart=dupRange.text.length- range.text.length;
field.selectionEnd=field.selectionStart range.text.length;
}
반환 field.selectionStart;
},
/*
* 지정된 위치의 문자 선택 || 커서 위치 설정
                                                                                                                                     하지만                                                     시작 문자 뒤)
*/
iSelectField: function(start,end){
var field=this.get(0);
//end가 정의되지 않은 경우 커서 위치가 설정됩니다.
if(arguments[1]==undefine){
end=start;
}
if(document.selection){
//IE
            var range = field.createTextRange() ;
              range.moveEnd('character', -$(this).val().length); start);
range.select();
}else{
//IE가 아닌
field.setSelectionRange(start,end) ;
            $(this).focus();
                                                                        ​​=$( this).val().indexOf(str);
i != -1 ? $(this).iSelectField(i,i str.length) : false;
},
/*
          * 커서 뒤에 문자열 삽입
len=$(this).val().length;
if(document.selection){
                                      문서. Selection.createRange().text=str;
                                                                                                                                  $(this).val( ).slice(0,field.selectionStart) str $(this).val().slice(field.selectionStart,len));
this.iSelectField(selPos str.length);
};
                                                                       ~                              (0);
var pos=$(this).iGetFieldPos();
var v=$(this) .val();

                  $(this).val(n>0 ? v.slice(0,pos-n) v.slice(pos) : v.slice(0,pos) v.slice (pos-n));
                                                                                                                        
확장 코드에 로드한 후 확장에 있는 메소드 이름에 따라 호출합니다.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.