/**
* Get selected text
* Return selection,tostring can get results, selection contains start cursor position information, etc.
**/ functionGetselecttext () {vartext, Userselection= Window.getselection () | | Document.selection.createRange ();//Not ie | | ie if(! (Text = userselection.text)) Text =userselection; returntext; } /**
* Get cursor position
* Valid for input, textarea, not effective for contenteditable:true mode
**/ functiongetcursortposition (textdom) {varCursorpos = 0; if(document.selection) {//IE SupportTextdom.focus (); varSelectrange =Document.selection.createRange (); Selectrange.movestart (' Character ',-textDom.value.length); Cursorpos=selectRange.text.length; }Else if(Textdom.selectionstart | | textdom.selectionstart = = ' 0 ') { //Non-IECursorpos =Textdom.selectionstart; } returnCursorpos; } /**
* Set cursor position
* Valid object and cursor acquisition
**/ functionsetcaretposition (Textdom, POS) {if(textdom.setselectionrange) {//IE SupportTextdom.focus (); Textdom.setselectionrange (POS, POS); }Else if(textdom.createtextrange) {//Non-IE varRange =Textdom.createtextrange (); Range.collapse (true); Range.moveend (' Character ', POS); Range.movestart (' Character ', POS); Range.Select (); } }
JS cursor Position processing