js 光标位置处理
Posted 【云】风过无痕
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 光标位置处理相关的知识,希望对你有一定的参考价值。
/**
* 获取选中文字
* 返回selection,toString可拿到结果,selection含有起始光标位置信息等
**/ function getSelectText() { var text, userSelection = window.getSelection()||document.selection.createRange();// not IE || ie if (!(text = userSelection.text)) text = userSelection; return text; } /**
* 获取光标位置
* 对 input、textarea有效,对contenteditable:true方式不生效
**/ function getCursortPosition (textDom) { var cursorPos = 0; if (document.selection) { // IE Support textDom.focus (); var selectRange = document.selection.createRange(); selectRange.moveStart (‘character‘, -textDom.value.length); cursorPos = selectRange.text.length; }else if (textDom.selectionStart || textDom.selectionStart == ‘0‘) { // 非 IE cursorPos = textDom.selectionStart; } return cursorPos; } /**
* 设置光标位置
* 有效对象同光标获取
**/ function setCaretPosition(textDom, pos){ if(textDom.setSelectionRange) { // IE Support textDom.focus(); textDom.setSelectionRange(pos, pos); }else if (textDom.createTextRange) { // 非 IE var range = textDom.createTextRange(); range.collapse(true); range.moveEnd(‘character‘, pos); range.moveStart(‘character‘, pos); range.select(); } }
以上是关于js 光标位置处理的主要内容,如果未能解决你的问题,请参考以下文章