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 相关文章推荐
stream.js 一个很小、完全独立的Javascript类库
Oct 28 Javascript
使用js判断数组中是否包含某一元素(类似于php中的in_array())
Dec 12 Javascript
jquery中 $.expr使用实例介绍
Jun 09 Javascript
JS实现网页Div层Clone拖拽效果
Sep 26 Javascript
js实现正则匹配中文标点符号的方法
Dec 23 Javascript
jQuery中使用animate自定义动画的方法
May 29 Javascript
基于Vuejs框架实现翻页组件
Jun 29 Javascript
EditPlus中的正则表达式 实战(2)
Dec 15 Javascript
详解基于Bootstrap+angular的一个豆瓣电影app
Jun 26 Javascript
详解vue.js+UEditor集成 [前后端分离项目]
Jul 07 Javascript
微信小程序进入广告实现代码实例
Sep 19 Javascript
JS实现密码框效果
Sep 10 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
第十二节 类的自动加载 [12]
2006/10/09 PHP
PHP文本操作类
2006/11/25 PHP
PDO::errorCode讲解
2019/01/28 PHP
IE php关于强制下载文件的代码
2008/08/23 Javascript
xheditor与validate插件冲突的解决方案
2010/04/15 Javascript
js去除输入框中所有的空格和禁止输入空格的方法
2014/06/09 Javascript
node.js中的path.normalize方法使用说明
2014/12/08 Javascript
jQuery simplePage+AJAX plus分页插件用法实例
2016/02/17 Javascript
使用AJAX实现Web页面进度条的实例分享
2016/05/06 Javascript
一个仿微博登陆邮箱提示框js开发案例
2016/07/28 Javascript
关于Jquery中的bind(),on()绑定事件方式总结
2016/10/26 Javascript
微信小程序 less文件编译成wxss文件实现办法
2016/12/05 Javascript
AngularJS中使用three.js的实例详解
2017/07/21 Javascript
BootStrap selectpicker后台动态绑定数据的方法
2017/07/28 Javascript
使用jQuery实现鼠标点击左右按钮滑动切换
2017/08/04 jQuery
js实现扫雷小程序的示例代码
2017/09/27 Javascript
vue axios数据请求get、post方法及实例详解
2018/09/11 Javascript
jQuery实现侧边栏隐藏与显示的方法详解
2018/12/22 jQuery
Vue.js中该如何自己维护路由跳转记录
2019/05/19 Javascript
[05:39]2014DOTA2西雅图国际邀请赛 淘汰赛7月14日TOPPLAY
2014/07/14 DOTA
python创建进程fork用法
2015/06/04 Python
Python微信企业号开发之回调模式接收微信端客户端发送消息及被动返回消息示例
2017/08/21 Python
python机器学习理论与实战(五)支持向量机
2018/01/19 Python
python 获取当天凌晨零点的时间戳方法
2018/05/22 Python
python实现录音小程序
2020/10/26 Python
Python创建或生成列表的操作方法
2019/06/19 Python
使用Windows批处理和WMI设置Python的环境变量方法
2019/08/14 Python
Python 中的函数装饰器和闭包详解
2021/02/06 Python
猫咪家具:CatsPlay
2018/11/03 全球购物
数学检讨书1000字
2014/02/24 职场文书
《画风》教学反思
2014/04/16 职场文书
高中教师先进事迹材料
2014/08/22 职场文书
2016年党员干部公开承诺书
2016/03/24 职场文书
Python 读写 Matlab Mat 格式数据的操作
2021/05/19 Python
Java Shutdown Hook场景使用及源码分析
2021/06/15 Java/Android
Android开发手册自定义Switch开关按钮控件
2022/06/10 Java/Android