基于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实现分页功能(含ajax请求、后台数据、附完整demo)
Apr 03 jQuery
QRCode.js:基于JQuery的生成二维码JS库的使用
Jun 23 jQuery
jQuery 实现图片的依次加载图片功能
Jul 06 jQuery
jQuery实现QQ空间汉字转拼音功能示例
Jul 10 jQuery
jQuery Form插件使用详解_动力节点Java学院整理
Jul 17 jQuery
使用jQuery实现简单的tab框实例
Aug 22 jQuery
jQuery UI 实例讲解 - 日期选择器(Datepicker)
Sep 18 jQuery
CSS3结合jQuery实现动画效果及回调函数的实例
Dec 27 jQuery
jQuery+Cookie实现切换皮肤功能【附源码下载】
Mar 25 jQuery
jQuery实现使用sort方法对json数据排序的方法
Apr 17 jQuery
jQuery选择器选中最后一个元素,倒数第二个元素操作示例
Dec 10 jQuery
jQuery使用ajax传递json对象到服务端及contentType的用法示例
Mar 12 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 无法载入mysql扩展
2010/03/12 PHP
PHP中include与require使用方法区别详解
2013/10/19 PHP
PHP中对各种加密算法、Hash算法的速度测试对比代码
2014/07/08 PHP
Laravel中为什么不使用blpop取队列详析
2018/08/01 PHP
延时重复执行函数 lLoopRun.js
2007/05/08 Javascript
JSF中confirm弹出框的用法示例介绍
2014/01/07 Javascript
javascript根据像素点取位置示例
2014/01/27 Javascript
JavaScript中对象property的删除方法介绍
2014/12/30 Javascript
javascript定义变量时带var与不带var的区别分析
2015/01/12 Javascript
jQuery on()方法使用技巧详解
2015/04/16 Javascript
javascript动态添加删除tabs标签的方法
2015/07/06 Javascript
jQuery实现自动与手动切换的滚动新闻特效代码分享
2015/08/27 Javascript
在React框架中实现一些AngularJS中ng指令的例子
2016/03/06 Javascript
内容滑动切换效果jquery.hwSlide.js插件封装
2016/07/07 Javascript
js实现增加数字显示的环形进度条效果
2017/02/05 Javascript
VsCode新建VueJs项目的详细步骤
2017/09/23 Javascript
解决使用Vue.js显示数据的时,页面闪现原始代码的问题
2018/02/11 Javascript
详解swipe使用及竖屏页面滚动方法
2018/06/28 Javascript
微信小程序修改swiper默认指示器样式的实例代码
2018/07/18 Javascript
微信小程序的tab选项卡的实现效果
2019/05/15 Javascript
JS实现随机点名器
2020/04/12 Javascript
简洁的十分钟Python入门教程
2015/04/03 Python
Python3读取文件常用方法实例分析
2015/05/22 Python
Python画图学习入门教程
2016/07/01 Python
使用Python写一个小游戏
2018/04/02 Python
解决python3 urllib 链接中有中文的问题
2018/07/16 Python
详解Python静态网页爬取获取高清壁纸
2019/04/23 Python
django 配置阿里云OSS存储media文件的例子
2019/08/20 Python
python使用socket实现的传输demo示例【基于TCP协议】
2019/09/24 Python
python多继承(钻石继承)问题和解决方法简单示例
2019/10/21 Python
Python Tkinter模块 GUI 可视化实例
2019/11/20 Python
python 进程池pool使用详解
2020/10/15 Python
五个2015 年最佳HTML5 框架
2015/11/11 HTML / CSS
AmazeUI 输入框组的示例代码
2020/08/14 HTML / CSS
XML文档面试题
2015/08/05 面试题
业务内勤岗位职责
2015/04/13 职场文书