javascript获取以及设置光标位置
一.获取光标位置:
//获取光标位置
functiongetCursortPosition(textDom){
varcursorPos=0;
if(document.selection){
//IESupport
textDom.focus();
varselectRange=document.selection.createRange();
selectRange.moveStart('character',-textDom.value.length);
cursorPos=selectRange.text.length;
}elseif(textDom.selectionStart||textDom.selectionStart=='0'){
//Firefoxsupport
cursorPos=textDom.selectionStart;
}
returncursorPos;
}
二.设置光标位置:
//设置光标位置
functionsetCaretPosition(textDom,pos){
if(textDom.setSelectionRange){
//IESupport
textDom.focus();
textDom.setSelectionRange(pos,pos);
}elseif(textDom.createTextRange){
//Firefoxsupport
varrange=textDom.createTextRange();
range.collapse(true);
range.moveEnd('character',pos);
range.moveStart('character',pos);
range.select();
}
}
三.获取选中文字:
//获取选中文字
functiongetSelectText(){
varuserSelection,text;
if(window.getSelection){
//Firefoxsupport
userSelection=window.getSelection();
}elseif(document.selection){
//IESupport
userSelection=document.selection.createRange();
}
if(!(text=userSelection.text)){
text=userSelection;
}
returntext;
}
四.选中特定范围的文本:
/**
*选中特定范围的文本
*参数:
*textDom[JavaScriptDOMString]当前对象
*startPos[Int]起始位置
*endPos[Int]终点位置
*/
functionsetSelectText(textDom,startPos,endPos){
varstartPos=parseInt(startPos),
endPos=parseInt(endPos),
textLength=textDom.value.length;
if(textLength){
if(!startPos){
startPos=0;
}
if(!endPos){
endPos=textLength;
}
if(startPos>textLength){
startPos=textLength;
}
if(endPos>textLength){
endPos=textLength;
}
if(startPos<0){
startPos=textLength+startPos;
}
if(endPos<0){
endPos=textLength+endPos;
}
if(textDom.createTextRange){
//IESupport
varrange=textDom.createTextRange();
range.moveStart("character",-textLength);
range.moveEnd("character",-textLength);
range.moveStart("character",startPos);
range.moveEnd("character",endPos);
range.select();
}else{
//Firefoxsupport
textDom.setSelectionRange(startPos,endPos);
textDom.focus();
}
}
}
五.在光标后插入文本:
/**
*在光标后插入文本
*参数:
*textDom[JavaScriptDOMString]当前对象
*value[String]要插入的文本
*/
functioninsertAfterText(textDom,value){
varselectRange;
if(document.selection){
//IESupport
textDom.focus();
selectRange=document.selection.createRange();
selectRange.text=value;
textDom.focus();
}elseif(textDom.selectionStart||textDom.selectionStart=='0'){
//Firefoxsupport
varstartPos=textDom.selectionStart;
varendPos=textDom.selectionEnd;
varscrollTop=textDom.scrollTop;
textDom.value=textDom.value.substring(0,startPos)+value+textDom.value.substring(endPos,textDom.value.length);
textDom.focus();
textDom.selectionStart=startPos+value.length;
textDom.selectionEnd=startPos+value.length;
textDom.scrollTop=scrollTop;
}
else{
textDom.value+=value;
textDom.focus();
}
}
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持毛票票!