基于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实现图片轮播器
May 23 jQuery
jQuery动画_动力节点节点Java学院整理
Jul 04 jQuery
jquery实现下拉菜单的手风琴效果
Jul 23 jQuery
jquery easyui如何实现格式化列
Jul 30 jQuery
jQuery选取所有复选框被选中的值并用Ajax异步提交数据的实例
Aug 04 jQuery
jQuery EasyUI的TreeGrid查询功能实现方法
Aug 08 jQuery
jQuery选择器之表单元素选择器详解
Sep 19 jQuery
jQuery实现验证表单密码一致性及正则表达式验证邮箱、手机号的方法
Dec 05 jQuery
使用Ajax和Jquery配合数据库实现下拉框的二级联动的示例
Jan 25 jQuery
jQuery实现checkbox全选功能完整实例
Jul 12 jQuery
jQuery无冲突模式详解
Jan 17 jQuery
jQuery创建折叠式菜单
Jun 15 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
PHP字符串处理的10个简单方法
2010/06/30 PHP
php实现保存周期为1天的购物车类
2017/07/07 PHP
一个用javascript写的select支持上下键、首字母筛选以及回车取值的功能
2009/09/09 Javascript
jquery中加载图片自适应大小主要实现代码
2013/08/23 Javascript
浅谈 javascript 事件处理
2015/01/04 Javascript
JavaScript删除数组元素的方法
2015/03/20 Javascript
jQuery实现的产品自动360度旋转展示特效源码分享
2015/08/21 Javascript
浅析javascript的return语句
2015/12/15 Javascript
canvas绘图不清晰的解决方案
2017/02/28 Javascript
详解Vue学习笔记进阶篇之列表过渡及其他
2017/07/17 Javascript
详解EasyUi控件中的Datagrid
2017/08/23 Javascript
jQuery Validate插件ajax方式验证输入值的实例
2017/12/21 jQuery
js打开word文档预览操作示例【不是下载】
2019/05/23 Javascript
vue实现前端分页完整代码
2020/06/17 Javascript
TensorFlow利用saver保存和提取参数的实例
2018/07/26 Python
django框架自定义用户表操作示例
2018/08/07 Python
Python函数装饰器常见使用方法实例详解
2019/03/30 Python
windows安装TensorFlow和Keras遇到的问题及其解决方法
2019/07/10 Python
使用apiDoc实现python接口文档编写
2019/11/19 Python
Python3监控疫情的完整代码
2020/02/20 Python
Python3爬虫中Ajax的用法
2020/07/10 Python
如何快速理解python的垃圾回收机制
2020/09/01 Python
Python日志器使用方法及原理解析
2020/09/27 Python
python unichr函数知识点总结
2020/12/16 Python
CSS3实现头像旋转效果
2017/03/13 HTML / CSS
HTML5仿手机微信聊天界面
2016/03/18 HTML / CSS
整理HTML5的一些新特性与Canvas的常用属性
2016/01/29 HTML / CSS
IWOOT美国:新奇的小玩意
2018/04/27 全球购物
Carolina Lemke Berlin澳大利亚官网:时尚太阳镜品牌
2019/09/17 全球购物
Java的类与C++的类有什么不同
2014/01/18 面试题
网吧收银员岗位职责
2013/12/14 职场文书
安全承诺书范文
2014/03/26 职场文书
国庆节标语大全
2014/10/08 职场文书
共产党员批评与自我批评
2014/10/15 职场文书
导游词之无锡华莱坞
2019/12/02 职场文书
Django程序的优化技巧
2021/04/29 Python