JavaScript记录光标在编辑器中位置的实现方法


Posted in Javascript onApril 22, 2016

本文实例讲述了JavaScript记录光标在编辑器中位置的实现方法。分享给大家供大家参考,具体如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
<body>
<script type="text/javascript">
function $(ele){return document.getElementById(ele)}
//记录编辑器中的位置
   var selection_start;
   var selection_end;
   function savePos(textBox){
   var start=0;
   var end=0;
   if(typeof(textBox.selectionStart) == "number"){ // not ie
    //alert(typeof(textBox.selectionStart) );
    start = textBox.selectionStart;
    end = textBox.selectionEnd;
   }
   else if(document.selection){
    var range = document.selection.createRange();
    if(range.parentElement().id == textBox.id){
     var range_all = document.body.createTextRange();
     range_all.moveToElementText(textBox);
     for (start=0; range_all.compareEndPoints("StartToStart", range) < 0; start++)
      range_all.moveStart('character', 1);
     for (var i = 0; i <= start; i ++){
      if (textBox.value.charAt(i) == '/n')
       start++;
     }
      var range_all = document.body.createTextRange();
      range_all.moveToElementText(textBox);
      for (end = 0; range_all.compareEndPoints('StartToEnd', range) < 0; end ++)
       range_all.moveStart('character', 1);
       for (var i = 0; i <= end; i ++){
        if (textBox.value.charAt(i) == '/n')
         end ++;
       }
     }
    }
    selection_start = start;
    selection_end = end;
   }
</script>
<form action="" id="test">
<textarea id="t" onfocus="savePos(this);$('log').value=selection_start" onkeydown="savePos(this);$('log').value=selection_start" onmousedown="savePos(this);$('log').value=selection_start" onmouseup="savePos(this);$('log').value=selection_start" >
</textarea>
<input type="text" id="log" />
</form>
</body>
</html>

更多关于JavaScript相关内容可查看本站专题:《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript动画特效与技巧汇总》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
jquery 图片上传按比例预览插件集合
May 28 Javascript
js控制web打印(局部打印)方法整理
May 29 Javascript
js数组去重的常用方法总结
Jan 24 Javascript
JavaScript的jQuery库中function的存在和参数问题
Aug 13 Javascript
Jquery表单验证失败后不提交的解决方法
Oct 18 Javascript
详解使用grunt完成requirejs的合并压缩和js文件的版本控制
Mar 02 Javascript
React中ES5与ES6写法的区别总结
Apr 21 Javascript
如何理解Vue的.sync修饰符的使用
Aug 17 Javascript
bootstrap中日历范围选择插件daterangepicker的使用详解
Apr 17 Javascript
JavaScript递归函数解“汉诺塔”算法代码解析
Jul 05 Javascript
通过实例解析vuejs如何实现调试代码
Jul 16 Javascript
vue中使用echarts的示例
Jan 03 Vue.js
在AngularJS中使用jQuery的zTree插件的方法
Apr 21 #Javascript
AngularJS中实现用户访问的身份认证和表单验证功能
Apr 21 #Javascript
解决JS组件bootstrap table分页实现过程中遇到的问题
Apr 21 #Javascript
javascript常见数字进制转换实例分析
Apr 21 #Javascript
BootStrap和jQuery相结合实现可编辑表格
Apr 21 #Javascript
动态加载js文件简单示例
Apr 21 #Javascript
JS动态插入并立即执行回调函数的方法
Apr 21 #Javascript
You might like
PHP下10件你也许并不了解的事情
2008/09/11 PHP
php目录操作函数之获取目录与文件的类型
2010/12/29 PHP
PHP中使用imagick实现把PDF转成图片
2015/01/26 PHP
Yii CFileCache 获取不到值的原因分析
2017/02/08 PHP
php使用Swoole实现毫秒级定时任务的方法
2020/09/04 PHP
关于IE中getElementsByClassName不能用的问题解决方法
2013/08/26 Javascript
深入理解Javascript中this的作用域
2014/08/12 Javascript
JavaScript基础知识学习笔记
2014/12/02 Javascript
jQuery中odd选择器的定义和用法
2014/12/23 Javascript
分享几种比较简单实用的JavaScript tabel切换
2015/12/31 Javascript
基于javascript实现checkbox复选框实例代码
2016/01/28 Javascript
详解Webpack-dev-server的proxy用法
2018/09/08 Javascript
浅谈vue后台管理系统权限控制思考与实践
2018/12/19 Javascript
微信小程序使用map组件实现路线规划功能示例
2019/01/22 Javascript
jQuery 添加元素和删除元素的方法
2020/07/15 jQuery
js实现淘宝浏览商品放大镜功能
2020/10/28 Javascript
antd日期选择器禁止选择当天之前的时间操作
2020/10/29 Javascript
[01:08]DOTA2次级职业联赛 - Shield战队宣传片
2014/12/01 DOTA
[03:07]2015国际邀请赛选手档案EHOME.rOtK 是什么让他落泪?
2015/07/31 DOTA
Python类的专用方法实例分析
2015/01/09 Python
python批量实现Word文件转换为PDF文件
2018/03/15 Python
如何利用Python分析出微信朋友男女统计图
2019/01/25 Python
Python3之不使用第三方变量,实现交换两个变量的值
2019/06/26 Python
浅谈PyTorch中in-place operation的含义
2020/06/27 Python
详解python tkinter包获取本地绝对路径(以获取图片并展示)
2020/09/04 Python
深入浅出CSS3 background-clip,background-origin和border-image教程
2011/01/27 HTML / CSS
推荐一些比较有用的css3新属性
2014/11/11 HTML / CSS
世界领先的26岁以下学生和青少年旅行预订网站:StudentUniverse
2018/07/01 全球购物
瑞士灯具购物网站:Lampenwelt.ch
2018/07/08 全球购物
成龙霸王洗发水广告词
2014/03/14 职场文书
2016国庆节67周年寄语
2015/12/07 职场文书
卖车协议书范文
2016/03/23 职场文书
JavaScript的Set数据结构详解
2022/02/18 Javascript
Java 异步任务计算FutureTask
2022/04/28 Java/Android
Golang Web 框架Iris安装部署
2022/08/14 Python
Mysql如何查看是否使用到索引
2022/12/24 MySQL