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 相关文章推荐
js 页面执行时间计算代码
Mar 04 Javascript
javascript 自动填写表单的实现方法
Apr 09 Javascript
Jquery为a标签的href赋值实现代码
May 03 Javascript
Javascript表格翻页效果的具体实现
Oct 05 Javascript
JavaScript中数据结构与算法(二):队列
Jun 19 Javascript
Angular发布1.5正式版,专注于向Angular 2的过渡
Feb 18 Javascript
JavaScript实现汉字转换为拼音的库文件示例
Dec 22 Javascript
jQuery简单绑定单个事件的方法示例
Jun 10 jQuery
JS设置手机验证码60s等待实现代码
Jun 14 Javascript
Node.js如何实现注册邮箱激活功能 (常见)
Jul 23 Javascript
js实现本地时间同步功能
Aug 26 Javascript
为什么JavaScript中0.1 + 0.2 != 0.3
Dec 03 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
PHP3 safe_mode 失效漏洞
2006/10/09 PHP
第二节--PHP5 的对象模型
2006/11/16 PHP
centos 5.6 升级php到5.3的方法
2011/05/14 PHP
浅谈php的优缺点
2015/07/14 PHP
浅析PHP7新功能及语法变化总结
2016/06/17 PHP
全面解析PHP面向对象的三大特征
2017/06/10 PHP
laravel框架数据库配置及操作数据库示例
2019/10/10 PHP
javascript Xml增删改查(IE下)操作实现代码
2009/01/30 Javascript
JQuery 自定义CircleAnimation,Animate方法学习笔记
2011/07/10 Javascript
jQuery在IE下使用未闭合的xml代码创建元素时的Bug介绍
2012/01/10 Javascript
Javascript delete 引用类型对象
2013/11/01 Javascript
js取得html iframe中的元素和变量值
2014/06/30 Javascript
JS点击链接后慢慢展开隐藏着图片的方法
2015/02/17 Javascript
JavaScript实现常用二级省市级联下拉列表的方法
2015/03/25 Javascript
JS功能代码集锦
2016/05/04 Javascript
Bootstrap对话框使用实例讲解
2016/09/24 Javascript
Jquery实时监听input value的实例
2017/01/26 Javascript
Node.JS中事件轮询(Event Loop)的解析
2017/02/25 Javascript
jQuery插件zTree实现的多选树效果示例
2017/03/08 Javascript
Bootstrap里的文件分别代表什么意思及其引用方法
2017/05/01 Javascript
Vue服务器渲染Nuxt学习笔记
2018/01/31 Javascript
python求素数示例分享
2014/02/16 Python
Python最基本的数据类型以及对元组的介绍
2015/04/14 Python
Python对excel文档的操作方法详解
2018/12/10 Python
Python利用matplotlib做图中图及次坐标轴的实例
2019/07/08 Python
分享一个pycharm专业版安装的永久使用方法
2019/09/24 Python
python多线程并发及测试框架案例
2019/10/15 Python
Python3 全自动更新已安装的模块实现
2020/01/06 Python
logging level级别介绍
2020/02/21 Python
大专毕业生自我鉴定
2013/11/21 职场文书
法学专业求职信
2014/07/15 职场文书
电子商务实训报告总结
2014/11/05 职场文书
机器人瓦力观后感
2015/06/12 职场文书
ORACLE数据库对long类型字段进行模糊匹配的解决思路
2021/04/07 Oracle
世界十大狙击步枪排行榜
2022/03/20 杂记
win11无线投屏在哪设置? win11无线投屏功能的使用方法
2022/04/08 数码科技