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下关于$.Ready()的分析
Dec 13 Javascript
javascript之querySelector和querySelectorAll使用说明
Oct 09 Javascript
JS中的prototype与面向对象的实例讲解
May 22 Javascript
原生JS实现美图瀑布流布局赏析
Sep 07 Javascript
JavaScript File分段上传
Mar 10 Javascript
漂亮! js实现颜色渐变效果
Aug 12 Javascript
解决vue 更改计算属性后select选中值不更改的问题
Mar 02 Javascript
浅谈Vue下使用百度地图的简易方法
Mar 23 Javascript
JS基于封装函数实现的表格分页完整示例
Jun 26 Javascript
微信小程序实现滑动操作代码
Apr 23 Javascript
JS异步宏队列微队列原理详解
Sep 09 Javascript
Js实现粘贴上传图片的原理及示例
Dec 09 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 采集程序 常用函数
2008/12/18 PHP
php命令行使用方法和命令行参数说明
2014/04/08 PHP
PHP实现数组递归转义的方法
2014/08/28 PHP
通过修改配置真正解决php文件上传大小限制问题(nginx+php)
2015/09/23 PHP
laravel 5异常错误:FatalErrorException in Handler.php line 38的解决
2017/10/12 PHP
tp5实现微信小程序多图片上传到服务器功能
2018/07/16 PHP
php中错误处理操作实例分析
2019/08/23 PHP
php让json_encode不自动转义斜杠“/”的方法
2020/04/27 PHP
理解Javascript_13_执行模型详解
2010/10/20 Javascript
关于scrollLeft,scrollTop的浏览器兼容性测试
2013/03/19 Javascript
JQuery中form验证出错信息的查看方法
2013/10/08 Javascript
JavaScript实现图片DIV竖向滑动的方法
2015/04/25 Javascript
jQuery UI设置固定日期选择特效代码分享
2015/08/27 Javascript
jQuery点击头像上传并预览图片
2017/02/23 Javascript
js实现扫雷小程序的示例代码
2017/09/27 Javascript
javascript深拷贝、浅拷贝和循环引用深入理解
2018/05/27 Javascript
使用webpack搭建vue项目及注意事项
2019/06/10 Javascript
vue中的 $slot 获取插槽的节点实例
2019/11/12 Javascript
浅谈vue项目利用Hbuilder打包成APP流程,以及遇到的坑
2020/09/12 Javascript
Python变量和字符串详解
2017/04/29 Python
Python实现的多线程同步与互斥锁功能示例
2017/11/30 Python
Ranorex通过Python将报告发送到邮箱的方法
2020/01/12 Python
keras 如何保存最佳的训练模型
2020/05/25 Python
python 实现两个npy档案合并
2020/07/01 Python
用html5实现语音搜索框的方法
2014/03/18 HTML / CSS
Eastbay官网:美国最大的运动鞋网络零售商
2016/07/27 全球购物
Tiqets荷兰:出售欧洲最美丽的景点和博物馆门票
2018/01/09 全球购物
教师年终个人自我评价
2013/10/04 职场文书
航空大学应届生求职信
2013/11/10 职场文书
经济管理专业毕业生推荐信
2013/11/11 职场文书
我未来的职业规划范文
2014/01/11 职场文书
预备党员党课思想汇报
2014/01/13 职场文书
幼儿园教师节活动方案
2014/02/02 职场文书
顶撞老师检讨书
2014/02/07 职场文书
党委班子纠正“四风”问题整改措施
2014/10/28 职场文书
基于Golang 高并发问题的解决方案
2021/05/08 Golang