Javascript 获取光标位置


$.fn.extend({
position:function( pos, text ){
var elem = this[0];
if (elem&&(elem.tagName=="TEXTAREA"||elem.type.toLowerCase()=="text")) {
if($.browser.msie){
var rng;
if(elem.tagName == "TEXTAREA"){
rng = event.srcElement.createTextRange();
rng.moveToPoint(event.x,event.y);
}else{
rng = document.selection.createRange();
}
if( pos === undefined ){
rng.moveStart("character",-event.srcElement.value.length);
return rng.text.length;
}else if(typeof pos === "number" ){
var index=this.position();
index>pos?( rng.moveEnd("character",pos-index)):(rng.moveStart("character",pos-index))
rng.select();
if( text === undefined ) {
return pos;
}
}
}else{
if( pos === undefined ){
return elem.selectionStart;
}else if(typeof pos === "number" ){
elem.selectionEnd = pos;
elem.selectionStart = pos;
if( text === undefined ) {
return pos;
}
}
}
if( text !== undefined ) {
var len = elem.value.length;
if(len<1 || pos<0) {
pos = 0;
} else if( pos>len ) {
pos = len;
}
var text1 = elem.value.substr(0,pos);
var text2 = elem.value.substr(pos);
pos += text.length;
elem.value = text1+text+text2;
return this.position(pos);
}
}else{
var index = 0;
if( typeof pos === "number") {
index += pos;
}
return index;
}
}
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值