文本域游标操作中的jQuery扩展共享
文本域扩展实现的功能和使用:1。获取鼠标的位置:$(元)IGetFieldPos();
2、设置光标位置:$(元)ISelectField(开始);
3、选择在指定位置的字符:$(元)。ISelectField(开始、结束);
4、选择指定的字符:$(元)ISelectStr(STR);
5、在光标后插入字符串:$(元)IAdd(STR);
6,删除光标的前n个字符(N)或之后(N):$(元)IDel(N);
扩展码:
复制代码代码如下所示:
(函数($){)
*
*文本字段游标操作的jQuery扩展(选择、添加、审查和获取)
* /
fn.extend({美元。
*
*获取光标的位置
* /
IGetFieldPos:函数(){
var = this.get(0);
如果(文档选择){
伊江
$(这个)焦点();
VaR的SEL = document.selection;
变量范围= sel.createrange();
无功duprange = range.duplicate();
duprange.movetoelementtext(场);
duprange.setendpoint('endtoend,范围);
selectionstart = duprange.text.length-range.text.length领域;
领域。selectionend =领域。selectionstart + range.text.length;
}
返回field.selectionstart;
},
*
*选择指定位置的字符在| |设置光标位置
*从开始(包括开始)到结束(结束)
*如果没有输入结束值,则设置光标的位置(在开始字符之后)
* /
ISelectField:功能(开始、结束){
var = this.get(0);
未定义结束符,并设置光标位置。
如果(参数{ 1 } =未定义的){
结束=开始;
}
如果(文档选择){
伊江
变量范围= field.createtextrange();
Range.moveEnd(字符、瓦迩)至(这)(长度);
Range.moveEnd(字符、结束);
Range.moveStart(字符,开始);
Range.select();
其他{ }
/伊江
Field.setSelectionRange(开始、结束);
$(这个)焦点();
}
},
*
*选择指定的字符串
* /
ISelectStr:功能(STR){
Var field=this.get (0);
var i = $(this)。瓦迩()IndexOf(STR);
我!= - 1美元(这)。ISelectField(I,I + str.length):假;
},
*
*在光标之后插入一个字符串
* /
IAddField:功能(STR){
var = this.get(0);
var = $(这个)。瓦迩();
var = $(this)。瓦迩();
如果(文档选择){
伊江
$(这个)焦点()
Document.selection.createRange()文本= str;
其他{ }
/伊江
无功selpos = field.selectionstart;
$(这)。瓦迩($(this)。瓦迩()瓦迩(),切片(0场。selectionstart)+个+ $(这)。瓦迩(),切片(field.selectionstart,Len));
this.iselectfield(selpos + str.length);
};
},
*
*删除游标前面(-)或后面(+)中的n个字符
* /
IDelField:功能(N){
var = this.get(0);
POS = $(var)IGetFieldPos(本);
var = $(这个)。瓦迩();
超过0个删除后面,少于0个被删除在前面。
$(这)。瓦迩(n>0 v.slice(0,pos-n)+ v.slice(POS):v.slice(0,POS)+ v.slice(pos-n));
$(这)。ISelectField(词性(n<0 0:n));
}
});
}(jQuery);
在扩展代码上加载,然后根据扩展名中方法的名称调用它。