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(); } }
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持毛票票!