当前位置:首页 > 日记 > 正文

javascript获取以及设置光标位置

javascript获取以及设置光标位置

一. 获取光标位置:

// 获取光标位置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') {  // Firefox support  cursorPos = textDom.selectionStart; } return cursorPos;}

二. 设置光标位置:

// 设置光标位置function setCaretPosition(textDom, pos){ if(textDom.setSelectionRange) {  // IE Support  textDom.focus();  textDom.setSelectionRange(pos, pos); }else if (textDom.createTextRange) {  // Firefox support  var range = textDom.createTextRange();  range.collapse(true);  range.moveEnd('character', pos);  range.moveStart('character', pos);  range.select(); }}

三. 获取选中文字:

// 获取选中文字function getSelectText() { var userSelection, text; if (window.getSelection) {  // Firefox support  userSelection = window.getSelection(); } else if (document.selection) {  // IE Support  userSelection = document.selection.createRange(); } if (!(text = userSelection.text)) {  text = userSelection; } return text;}

四. 选中特定范围的文本:

/*** 选中特定范围的文本* 参数:*  textDom [JavaScript DOM String] 当前对象*  startPos [Int] 起始位置*  endPos [Int] 终点位置*/function setSelectText(textDom, startPos, endPos) { var startPos = 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){   // IE Support   var range = textDom.createTextRange();   range.moveStart("character",-textLength);   range.moveEnd("character",-textLength);   range.moveStart("character", startPos);   range.moveEnd("character",endPos);   range.select();  }else{   // Firefox support   textDom.setSelectionRange(startPos, endPos);   textDom.focus();  } }}

五. 在光标后插入文本:

/*** 在光标后插入文本* 参数:*  textDom [JavaScript DOM String] 当前对象*  value [String] 要插入的文本*/function insertAfterText(textDom, value) { var selectRange; if (document.selection) {  // IE Support  textDom.focus();  selectRange = document.selection.createRange();  selectRange.text = value;  textDom.focus(); }else if (textDom.selectionStart || textDom.selectionStart == '0') {  // Firefox support  var startPos = textDom.selectionStart;  var endPos = textDom.selectionEnd;  var scrollTop = 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(); }}

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!

相关文章

怎样在word2016文档中找回以前使用

怎样在word2016文档中找回以前使用

文档,使用过,样式,标题,电脑软件,  在Word文档的使用中,有一些以前使用过的标题样式,现在突然想要找回在Word中使用不知道可以不可以。以下是小编为您带来的关于word2016找回以前使用过的标题样式,希望对您有所帮助。word2016找回以前使用过…

excel表格设置数字0不显示的方法

excel表格设置数字0不显示的方法

方法,显示,设置,数字,表格,  在办公中经常会用到excel中的设置数字0不显示的功能,如果不懂的朋友不妨一起来学习研究一番。接下来是小编为大家带来的excel表格数字0不显示,供大家参考。excel表格数字0不显示的方法1设置数字0不显示步骤1:首…

WPS演示怎样制作动态幻灯片WPS制作

WPS演示怎样制作动态幻灯片WPS制作

动态,方法,步骤,幻灯片,演示,  在PowerPoint中制作的动态效果,其实也可以用WPS演示中播放和制作。由于WPS软件体积小容易安装又不用激活(最新版WPS下载),实际上完全可以用WPS演示来制作动态效果的幻灯片,下面是WPS演示制作动态幻灯片的方法,…

wps表格怎样将两个表格合并

wps表格怎样将两个表格合并

合并,方法,表格,两个,实用技巧,  今天有个朋友说要需要把表格内容合并起来,但是又要全部的保留内容,这可难倒小编了,后来经过一番研究终于找到了方法,下面小编马上就告诉大家WPS表格合并两个表格内容的方法。WPS表格合并两个表格内容的方法为…

word2013怎么插入pptword2013插入p

word2013怎么插入pptword2013插入p

步骤,方法,电脑软件,strong,ppt,  我们常将将word文档导入 ppt 中,那么如何在word2013文档中插入ppt呢?下面小编教你具体怎么做吧。word2013插入ppt的步骤打开需要插入PPT的word文档word2013插入ppt的步骤图1  选择菜单栏的&ldquo;插入&…

如何把pdf转成word格式

如何把pdf转成word格式

转成,格式,电脑软件,pdf,word,  PDF格式是如今使用非常广泛的一种文本格式,我们可以到处看见它的身影。PDF与Word有着很大的区别,不能直接使用上面的内容,那么下面就由小编给大家分享下pdf转成word格式的技巧,希望能帮助到您。pdf转成word格…

微信公众号怎么设置分组?

微信公众号怎么设置分组?

设置,微信公众号,电脑软件,  当我们开通了微信公众号,并积累了一定的用户以后,就可以为不同类型的用户分组,可以分类发送不同的定制化信息。这里简单介绍下怎么在微信公众号中对用户进行管理的一些技巧与方法。微信公众号怎么设置分组  首…

word中怎么设置作文格子word中设置

word中怎么设置作文格子word中设置

设置,方法,步骤,格子,电脑软件,  在word表格如何设置作文格对不熟悉的朋友来说还真是有点难,通过下面相信对你不再是难道了。那么下面就由小编给大家分享下word中设置作文格子的技巧,希望能帮助到您。word中设置作文格子的步骤步骤一:打开Wo…

qq空间如何关注认证空间qq空间关注

qq空间如何关注认证空间qq空间关注

空间,认证,步骤,方法,电脑软件,  在qq空间里关注自己喜欢的认证空间,也就能收到认证空间推送的消息,那么怎么关注认证空间呢?下面由小编告诉你关注认证空间的步骤,希望对大家有所帮助。qq空间关注认证空间的方法登陆自己的QQ空间,点击这个&ld…

ES6中的箭头函数实例详解

ES6中的箭头函数实例详解

函数,箭头,详解,实例,电脑软件,本文实例讲述了ES6中的箭头函数。分享给大家供大家参考,具体如下:语法我们先来看看箭头函数的语法:([param] [, param]) => { statements}param => expressionparam 是参数,根据参数个数不同,分这几种情况:() => {…

关于考试的qq空间留言有关考试的搞

关于考试的qq空间留言有关考试的搞

空间,考试,留言,句子,热门,  考试过后,朋友们总是有很多感想,你想知道更多关于考试的搞笑qq空间留言吗?今天小编为你推荐最新关于考试的qq空间留言,欢迎阅读。关于考试的qq空间留言【精选篇】一、小时候最怕的梦是梦到自己找厕所,最最怕的是,…

JavaScript字符串对象

JavaScript字符串对象

对象,字符串,电脑软件,JavaScript,JavaScript 对象是一种复合值,是有属性或已命名值的集合。通过”.”来引用属性值。当属性值是一个函数的时候,称其为方法。那么本篇文章来讲解讲解JavaScript中的String对象。 我们在书写js代码时,经常调…