var?光標位置?=?{
獲取:?功能?(textarea)?{
var?rangeData?=?{正文:?"",?開始:?0,?end:?0?};
如果?(textarea.setSelectionRange)?{?//?萬維網路聯盟(World Wide Web Consortium?簡稱W3C)
textarea . focus();
rangeData.start=?textarea.selectionStart
rangeData.end?=?textarea.selectionEnd
rangeData.text?=?(rangeData.start?!=?range data . end)textarea . value . substring(range data . start,?rangeData.end):?"";
}?不然呢?如果?(文檔.選擇)?{?//?工業管理學(Industrial Engineering)
textarea . focus();
var?我,
oS?=?document.selection.createRange(),
還是?=?document . body . create text range();
or . movetoelementtext(textarea);
rangeData.text?=?oS.text
rangeData.bookmark?=?OS . get bookmark();
為了什麽?(我?=?0;?or . compare endpoints(' start to start ',?oS)?& lt?0?& amp& amp?oS.moveStart("character ",-1)?!==?0;?我?++)?{
如果?(textarea.value.charAt(i)?==?\r '?)?{
我?++;
}
}
rangeData.start?=?我;
rangeData.end?=?rangeData.text.length?+?rangeData.start
}
回歸?rangeData
},
設置:?功能?(textarea,?rangeData)?{
var?還是,?開始,?結束;
如果(!rangeData)?{
alert("妳?必須?得到?光標?位置?第壹。”)
}
textarea . focus();
如果?(textarea.setSelectionRange)?{?//?萬維網路聯盟(World Wide Web Consortium?簡稱W3C)
textarea . setselectionrange(range data . start,?range data . end);
}?不然呢?如果?(textarea.createTextRange)?{?//?工業管理學(Industrial Engineering)
還是?=?textarea . create text range();
if(textarea.value.length?===?rangeData.start)?{
oR.collapse(假);
or . select();
}?不然呢?{
or . movetobookmark(range data . bookmark);
or . select();
}
}
},
補充:?功能?(textarea,?rangeData,?正文)?{
var?oValue?n值,?還是,?sR,?nStart?nEnd,?ST;
this.set(textarea,?range data);
如果?(textarea.setSelectionRange)?{?//?萬維網路聯盟(World Wide Web Consortium?簡稱W3C)
oValue?=?textarea.value
n值?=?oValue.substring(0,rangeData.start)?+?文字?+?oval UE . substring(range data . end);
nStart?=?nEnd?=?rangeData.start?+?文本長度;
st?=?textarea.scrollTop
textarea.value?=?nValue
if(textarea.scrollTop?!=?st)?{
textarea.scrollTop?=?ST;
}
textarea . setselectionrange(nStart,nEnd);
}?不然呢?如果?(textarea.createTextRange)?{?//?工業管理學(Industrial Engineering)
sR?=?document.selection.createRange()。
sR.text?=?文本;
sR.setEndPoint('StartToEnd ',?sR);
Sr . select();
}
}
}
$('#id ')。mouseup(函數?()?{
var?pos?=?cursor position . get($(this)[0]);
alert(!位置文本?':位置文本);
});