基于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列表检索功能实现代码
Jul 17 jQuery
深入研究jQuery图片懒加载 lazyload.js使用方法
Aug 16 jQuery
jQuery实现表格冻结顶栏效果
Aug 20 jQuery
(模仿京东用户注册)用JQuery实现简单表单验证,初学者必看
Jan 08 jQuery
Vue引入jquery实现平滑滚动到指定位置
May 09 jQuery
jQuery中将json数据显示到页面表格的方法
May 27 jQuery
jQuery 获取除某指定对象外的其他对象 ( :not() 与.not())
Oct 10 jQuery
JQuery实现ajax请求的示例和注意事项
Dec 10 jQuery
jQuery实现的点击图片居中放大缩小功能示例
Jan 16 jQuery
解决jquery validate 验证不通过后验证正确的信息仍残留在label上的方法
Aug 27 jQuery
jquery.validate自定义验证用法实例分析【成功提示与择要提示】
Jun 06 jQuery
jQuery实现带进度条的轮播图
Sep 13 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
全国FM电台频率大全 - 27 陕西省
2020/03/11 无线电
php处理复杂xml数据示例
2016/07/11 PHP
浅谈php中urlencode与rawurlencode的区别
2016/09/05 PHP
PDO::_construct讲解
2019/01/27 PHP
PHP学习记录之常用的魔术常量详解
2019/12/12 PHP
php让json_encode不自动转义斜杠“/”的方法
2020/04/27 PHP
js函数参数设置默认值的一种变通实现方法
2014/05/26 Javascript
jQuery级联操作绑定事件实例
2014/09/02 Javascript
jQuery中clearQueue()方法用法实例
2014/12/29 Javascript
js实现延时加载Flash的方法
2015/11/26 Javascript
js实现的奥运倒计时时钟效果代码
2015/12/09 Javascript
javascript实现数字倒计时特效
2016/03/30 Javascript
bootstrap datetimepicker2.3.11时间插件使用
2016/11/19 Javascript
jquery结合html实现中英文页面切换
2016/11/29 Javascript
Vue+axios 实现http拦截及路由拦截实例
2017/04/25 Javascript
JS简单实现点击按钮或文字显示遮罩层的方法
2017/04/27 Javascript
ztree实现左边动态生成树右边为内容详情功能
2017/11/03 Javascript
p5.js入门教程之小球动画示例代码
2018/03/15 Javascript
cocos2dx+lua实现橡皮擦功能
2018/12/20 Javascript
微信小程序文字显示换行问题
2019/07/28 Javascript
[01:02:45]完美世界DOTA2联赛 LBZS vs Forest 第三场 11.07
2020/11/09 DOTA
Python实现的基数排序算法原理与用法实例分析
2017/11/23 Python
Python中单线程、多线程和多进程的效率对比实验实例
2019/05/14 Python
python使用递归的方式建立二叉树
2019/07/03 Python
python操作openpyxl导出Excel 设置单元格格式及合并处理代码实例
2019/08/27 Python
Django通过json格式收集主机信息
2020/05/29 Python
运行Python编写的程序方法实例
2020/10/21 Python
美国中西部家用医疗设备商店:Med Mart(轮椅、踏板车、升降机等)
2019/04/26 全球购物
西安众合通用.net笔试题
2013/03/18 面试题
开水果连锁店创业计划书
2013/12/29 职场文书
二年级评语大全
2014/04/23 职场文书
简单租房协议书范本
2014/08/20 职场文书
2014年度个人总结范文
2015/03/09 职场文书
自我检讨书怎么写
2015/05/07 职场文书
护士岗位竞聘书
2015/09/15 职场文书
《丑小鸭》教学反思
2016/02/19 职场文书