Javascript实现获取及设置光标位置的方法


Posted in Javascript onJuly 21, 2015

本文实例讲述了Javascript实现获取及设置光标位置的方法。分享给大家供大家参考。具体如下:

在项目开发中经常遇到input等设置光标位置到最后的问题,今天我查了一下Google,找到了在IE、Firefox、Opera等主流浏览器的获取光标位置(getCursortPosition)以及设置光标位置(setCursorPosition)的函数。

1. 获取光标位置函数:

function getCursortPosition (ctrl) {
  var CaretPos = 0;  // IE Support
  if (document.selection) {
  ctrl.focus ();
    var Sel = document.selection.createRange ();
    Sel.moveStart ('character', -ctrl.value.length);
    CaretPos = Sel.text.length;
  }
  // Firefox support
  else if (ctrl.selectionStart || ctrl.selectionStart == '0')
    CaretPos = ctrl.selectionStart;
  return (CaretPos);
}

2. 设置光标位置函数:

function setCaretPosition(ctrl, pos){
  if(ctrl.setSelectionRange)
  {
    ctrl.focus();
    ctrl.setSelectionRange(pos,pos);
  }
  else if (ctrl.createTextRange) {
    var range = ctrl.createTextRange();
    range.collapse(true);
    range.moveEnd('character', pos);
    range.moveStart('character', pos);
    range.select();
  }
}

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

Javascript 相关文章推荐
基于jquery的划词搜索实现(备忘)
Sep 14 Javascript
JS实现的数组全排列输出算法
Mar 19 Javascript
JavaScript中计算网页中某个元素的位置
Jun 10 Javascript
使用jquery+CSS3实现仿windows10开始菜单的下拉导航菜单特效
Sep 24 Javascript
JS获取当前页面名称的简单实例
Aug 19 Javascript
jQuery插件zTree实现获取当前选中节点在同级节点中序号的方法
Mar 08 Javascript
Spring shiro + bootstrap + jquery.validate 实现登录、注册功能
Jun 02 jQuery
浅析JavaScript中的平稳退化(graceful degradation)
Jul 24 Javascript
深入浅析JSONAPI在PHP中的应用
Dec 24 Javascript
利用vue和element-ui设置表格内容分页的实例
Mar 02 Javascript
JS将指定的某个字符全部转换为其他字符实例代码
Oct 13 Javascript
react如何快速设置文件路径别名
Apr 28 Javascript
详解参数传递四种形式
Jul 21 #Javascript
jquery实现Ctrl+Enter提交表单的方法
Jul 21 #Javascript
jQuery实现html元素拖拽
Jul 21 #Javascript
异步安全加载javascript文件的方法
Jul 21 #Javascript
jquery实现鼠标滑过小图查看大图的方法
Jul 20 #Javascript
详细介绍jQuery.outerWidth() 函数具体用法
Jul 20 #Javascript
SWFObject基本用法实例分析
Jul 20 #Javascript
You might like
一个可以删除字符串中HTML标记的PHP函数
2006/10/09 PHP
Zend Guard一些常见问题解答
2008/09/11 PHP
PHP 编程安全性小结
2010/01/08 PHP
php 判断数组是几维数组
2013/03/20 PHP
PHP类的特性实例分析
2016/09/28 PHP
laravel框架的安装与路由实例分析
2019/10/11 PHP
用JavaScript编写COM组件的步骤
2009/03/17 Javascript
基于jQuery的一个扩展form序列化到json对象
2010/12/09 Javascript
学习javascript,实现插入排序实现代码
2011/07/31 Javascript
jQuery的显示和隐藏方法与css隐藏的样式对比
2013/10/18 Javascript
js 弹出框只弹一次(二次修改之后的)
2013/11/26 Javascript
js中substr,substring,indexOf,lastIndexOf的用法小结
2013/12/27 Javascript
tab栏切换原理
2017/03/22 Javascript
React Native 集成jpush-react-native的示例代码
2017/08/16 Javascript
[原创]jQuery实现合并/追加数组并去除重复项的方法
2018/04/11 jQuery
微信小程序使用map组件实现获取定位城市天气或者指定城市天气数据功能
2019/01/22 Javascript
详解基于iview-ui的导航栏路径(面包屑)配置
2019/02/22 Javascript
node.JS二进制操作模块buffer对象使用方法详解
2020/02/06 Javascript
python 切片和range()用法说明
2013/03/24 Python
通过C++学习Python
2015/01/20 Python
详细解读Python中解析XML数据的方法
2015/10/15 Python
python脚本爬取字体文件的实现方法
2017/04/29 Python
如何基于Python创建目录文件夹
2019/12/31 Python
python DES加密与解密及hex输出和bs64格式输出的实现代码
2020/04/13 Python
keras打印loss对权重的导数方式
2020/06/10 Python
使用CSS3实现圆角,阴影,透明
2014/12/23 HTML / CSS
html5唤起app的方法
2017/11/30 HTML / CSS
美国知名的家庭连锁百货商店:Boscov’s
2017/07/27 全球购物
丽笙酒店官方网站:Radisson Hotels
2019/05/07 全球购物
中文专业毕业生自荐信
2013/10/28 职场文书
学习委员自我鉴定
2014/01/13 职场文书
应届中专生自荐书范文
2014/02/13 职场文书
反邪教宣传工作方案
2014/05/07 职场文书
一文搞懂python异常处理、模块与包
2021/06/26 Python
PostGIS的安装与入门使用指南
2022/01/18 PostgreSQL
海贼王十大逆天果实 魂魂果实上榜,岩浆果实攻击力最强
2022/03/18 日漫