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 动画基础教程
Dec 25 Javascript
如何将JS的变量值传递给ASP变量
Dec 10 Javascript
解析javascript 实用函数的使用详解
May 10 Javascript
Javascript的&amp;&amp;和||的另类用法
Jul 23 Javascript
jQuery ajax serialize() 方法使用示例
Nov 02 Javascript
js绘制圆形和矩形的方法
Aug 05 Javascript
jquery制做精致的倒计时特效
Jun 13 Javascript
JavaScript中return用法示例
Nov 29 Javascript
Angular路由简单学习
Dec 26 Javascript
自适应布局meta标签中viewport、content、width、initial-scale、minimum-scale、maximum-scale总结
Aug 18 Javascript
浅谈vue+webpack项目调试方法步骤
Sep 11 Javascript
Thinkphp5微信小程序获取用户信息接口的实例详解
Sep 26 Javascript
在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中的include、include_once、require以及require_once语句
2016/04/23 PHP
PHP接口并发测试的方法(推荐)
2016/12/15 PHP
静态页面下用javascript操作ACCESS数据库(读增改删)的代码
2007/05/14 Javascript
prototype Element学习笔记(篇二)
2008/10/26 Javascript
js post方式传递提交的实现代码
2010/05/31 Javascript
js判断输入是否为数字的具体实例
2013/08/03 Javascript
jQuery操作表单常用控件方法小结
2015/03/23 Javascript
JavaScript中Date.toSource()方法的使用教程
2015/06/12 Javascript
angularjs学习笔记之简单介绍
2015/09/26 Javascript
js中flexible.js实现淘宝弹性布局方案
2020/06/23 Javascript
js日期插件dateHelp获取本月、三个月、今年的日期
2016/03/07 Javascript
JavaScript必知必会(二) null 和undefined
2016/06/08 Javascript
一个简单的JavaScript Map实例(分享)
2016/08/03 Javascript
移动端js图片查看器
2016/11/17 Javascript
jQuery实现圣诞节礼物传送(花式轮播)
2016/12/25 Javascript
jQuery快速高效制作网页交互特效
2017/02/24 Javascript
基于Vue实现微信小程序的图文编辑器
2018/07/25 Javascript
vue中子组件的methods中获取到props中的值方法
2018/08/27 Javascript
vue数据初始化initState的实例详解
2019/04/11 Javascript
jsonp跨域获取百度联想词的方法分析
2019/05/13 Javascript
Nuxt 项目性能优化调研分析
2020/11/07 Javascript
python list转dict示例分享
2014/01/28 Python
Tornado 多进程实现分析详解
2018/01/12 Python
使用Python控制摄像头拍照并发邮件
2019/04/23 Python
python实现在函数图像上添加文字和标注的方法
2019/07/08 Python
Pyinstaller 打包exe教程及问题解决
2019/08/16 Python
pycharm无法导入本地模块的解决方式
2020/02/12 Python
python实现同一局域网下传输图片
2020/03/20 Python
使用pth文件添加Python环境变量方式
2020/05/26 Python
Python urlopen()参数代码示例解析
2020/12/10 Python
HTML5实践-图片设置成灰度图
2012/11/12 HTML / CSS
Java基础知识面试题
2014/03/25 面试题
转预备党员政审材料
2014/02/06 职场文书
北京奥运会口号
2014/06/21 职场文书
2015年营业员工作总结
2015/04/23 职场文书
Python异常类型以及处理方法汇总
2021/06/05 Python