テキスト フィールドに対するこの拡張機能の機能と使用法:
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. extend({
/* if(document.selection){
. plicate();
dupRange.moveToElementText(フィールド);
dupRange.setEndPoint( 'EndToEnd',range);
field.selectionStart=dupRange.text.length- range.text.length;
field.selectionEnd=field.selectionStart range.text.length;
}
return field.selectionStart;
},
/*
* 指定位置の文字を選択 || カーソル位置を設定
ただし、開始文字の後)
*/
iSelectField: function(start,end){
var field=this.get(0);
//end が定義されていない場合は、カーソル位置が設定されます
if(arguments[1]==unknown){
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));
拡張機能コードにロードし、拡張機能内のメソッド名に従って呼び出します。