基于jQuery实现的设置文本区域的光标位置


Posted in jQuery onJune 15, 2018

如何使用jQuery在文本框中设置光标位置?我有一个带有内容的文本字段,并且我希望光标在焦点位于特定的偏移位置,该如何实现呢?

实现方法一:

这是一个jQuery解决方案:

$.fn.selectRange = function(start, end) {
 if(end === undefined) {
 end = start;
 }
 return this.each(function() {
 if('selectionStart' in this) {
  this.selectionStart = start;
  this.selectionEnd = end;
 } else if(this.setSelectionRange) {
  this.setSelectionRange(start, end);
 } else if(this.createTextRange) {
  var range = this.createTextRange();
  range.collapse(true);
  range.moveEnd('character', end);
  range.moveStart('character', start);
  range.select();
 }
 });
};

有了这个,你可以做

$('#elem').selectRange(3,5); // select a range of text
$('#elem').selectRange(3); // set cursor position

实现方法二:

$.fn.setCursorPosition = function(position){
 if(this.length == 0) return this;
 return $(this).setSelection(position, position);
}

$.fn.setSelection = function(selectionStart, selectionEnd) {
 if(this.length == 0) return this;
 input = this[0];

 if (input.createTextRange) {
 var range = input.createTextRange();
 range.collapse(true);
 range.moveEnd('character', selectionEnd);
 range.moveStart('character', selectionStart);
 range.select();
 } else if (input.setSelectionRange) {
 input.focus();
 input.setSelectionRange(selectionStart, selectionEnd);
 }

 return this;
}

$.fn.focusEnd = function(){
 this.setCursorPosition(this.val().length);
  return this;
}

现在,您可以通过调用以下任何元素将焦点移至任何元素的结尾

$(element).focusEnd();

方法三

function setSelectionRange(input, selectionStart, selectionEnd) {
 if (input.setSelectionRange) {
 input.focus();
 input.setSelectionRange(selectionStart, selectionEnd);
 }
 else if (input.createTextRange) {
 var range = input.createTextRange();
 range.collapse(true);
 range.moveEnd('character', selectionEnd);
 range.moveStart('character', selectionStart);
 range.select();
 }
}

function setCaretToPos (input, pos) {
 setSelectionRange(input, pos, pos);
}

调用办法:

setCaretToPos(document.getElementById("YOURINPUT"), 4);

jquery中文本域光标操作(选中、添加、删除、获取)

1、获取光标位置:$(elem).iGetFieldPos();
2、设置光标位置:$(elem).iSelectField(start);
3、选中指定位置内的字符:$(elem).iSelectField(start,end);
4、选中指定的字符:$(elem).iSelectStr(str);
5、在光标之后插入字符串:$(elem).iAdd(str);
6、删除光标前面(-n)或者后面(n)的n个字符:$(elem).iDel(n);

这篇文章就介绍到这了,希望大家以后多多支持三水点靠木。

jQuery 相关文章推荐
jQuery插件FusionCharts绘制的2D双柱状图效果示例【附demo源码】
May 13 jQuery
使用jQuery实现购物车结算功能
Aug 15 jQuery
jQuery实现菜单栏导航效果
Aug 15 jQuery
使用jQuery实现简单的tab框实例
Aug 22 jQuery
jQuery EasyUI开发技巧总结
Sep 26 jQuery
基于jQuery实现定位导航位置效果
Nov 15 jQuery
jQuery中图片展示插件highslide.js的简单dom
Apr 22 jQuery
jQuery实现鼠标移入移出事件切换功能示例
Sep 06 jQuery
jQuery/JS监听input输入框值变化实例
Oct 17 jQuery
jQuery实现消息弹出框效果
Dec 10 jQuery
jQuery 图片查看器插件 Viewer.js用法简单示例
Apr 04 jQuery
详解jQuery的核心函数和事件处理
Feb 18 jQuery
jQuery实现列表的增加和删除功能
Jun 14 #jQuery
jQuery实现下拉菜单动态添加数据点击滑出收起其他功能
Jun 14 #jQuery
jQuery实现的页面详情展开收起功能示例
Jun 11 #jQuery
jQuery基于闭包实现的显示与隐藏div功能示例
Jun 09 #jQuery
jQuery实现表单动态加减、ajax表单提交功能
Jun 08 #jQuery
jQuery动态移除与增加onclick属性的方法详解
Jun 07 #jQuery
Angular5中调用第三方库及jQuery的添加的方法
Jun 07 #jQuery
You might like
Thinkphp搭建包括JS多语言的多语言项目实现方法
2014/11/24 PHP
浅谈php优化需要注意的地方
2014/11/27 PHP
利用javascript查看html源文件
2006/11/08 Javascript
jquery判断浏览器类型的代码
2012/11/05 Javascript
FF火狐下获取一个元素同类型的相邻元素实现代码
2012/12/15 Javascript
JS动态添加option和删除option(附实例代码)
2013/04/01 Javascript
Jquery实现侧边栏跟随滚动条固定(兼容IE6)
2014/04/02 Javascript
jQuery实现高亮显示网页关键词的方法
2015/08/07 Javascript
js实现卡片式项目管理界面UI设计效果
2015/12/08 Javascript
Bootstrap每天必学之折叠
2016/04/12 Javascript
Javascript中的数组常用方法解析
2016/06/17 Javascript
微信小程序(三):网络请求
2017/01/13 Javascript
基于require.js的使用(实例讲解)
2017/09/07 Javascript
详解开发react应用最好用的脚手架 create-react-app
2018/04/24 Javascript
layui实现动态和静态分页
2018/04/28 Javascript
ES6的Fetch异步请求的实现方法
2018/12/07 Javascript
[01:32]2016国际邀请赛中国区预选赛CDEC战队教练采访
2016/06/26 DOTA
Python基于win32ui模块创建弹出式菜单示例
2018/05/09 Python
使用sklearn进行对数据标准化、归一化以及将数据还原的方法
2018/07/11 Python
详解安装mitmproxy以及遇到的坑和简单用法
2019/01/21 Python
基于python实现百度翻译功能
2019/05/09 Python
Pytorch卷积层手动初始化权值的实例
2019/08/17 Python
用sqlalchemy构建Django连接池的实例
2019/08/29 Python
python爬虫之遍历单个域名
2019/11/20 Python
PyCharm2019.3永久激活破解详细图文教程,亲测可用(不定期更新)
2020/10/29 Python
基于Python实现全自动下载抖音视频
2020/11/06 Python
Python+Xlwings 删除Excel的行和列
2020/12/19 Python
HTML5表单验证特性(知识点小结)
2020/03/10 HTML / CSS
奢华时尚的创新平台:Baltini
2020/10/03 全球购物
师范生自荐信范文
2013/10/06 职场文书
应聘医药销售自荐书范文
2014/02/08 职场文书
缅怀先烈演讲稿
2014/09/03 职场文书
小学生国庆节演讲稿
2014/09/05 职场文书
2014年党员自我评议对照检查材料
2014/09/20 职场文书
行政处罚听证告知书
2015/07/01 职场文书
2016元旦文艺汇演主持词(开场白+结束语)
2015/12/03 职场文书