基于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-data的三种用法
Apr 18 jQuery
jquery实现简单实用的轮播器
May 23 jQuery
jQuery扇形定时器插件pietimer使用方法详解
Jul 18 jQuery
jQuery实现菜单栏导航效果
Aug 15 jQuery
解决JQuery全选/反选第二次失效的问题
Oct 11 jQuery
bootstrap可编辑下拉框jquery.editable-select
Oct 12 jQuery
jQuery实现鼠标点击处心形漂浮的炫酷效果示例
Apr 12 jQuery
基于jquery实现九宫格拼图小游戏
Nov 30 jQuery
jQuery移动端跑马灯抽奖特效升级版(抽奖概率固定)实现方法
Jan 18 jQuery
JQuery事件委托原理与用法实例分析
May 13 jQuery
jquery实现简单自动轮播图效果
Jul 29 jQuery
jQuery实现手风琴特效
Jan 11 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修正代码
2011/05/09 PHP
PHP发送短信代码分享
2015/08/11 PHP
PHP表单验证内容是否为空的实现代码
2016/11/14 PHP
laravel 自定义常量的两种方案
2019/10/14 PHP
jQuery 淡出一个图像到另一个图像的实现代码
2013/06/12 Javascript
javascript中动态函数用法实例分析
2015/05/14 Javascript
简介JavaScript中的italics()方法的使用
2015/06/08 Javascript
jQuery事件绑定用法详解
2016/09/08 Javascript
微信小程序 教程之WXML
2016/10/18 Javascript
AngularJS中watch监听用法分析
2016/11/04 Javascript
JavaScript交换两个变量值的七种解决方案
2016/12/01 Javascript
从零开始学习Node.js系列教程四:多页面实现数学运算的client端和server端示例
2017/04/13 Javascript
vue移动端下拉刷新和上滑加载
2020/10/27 Javascript
[00:32]2018DOTA2亚洲邀请赛OpTic出场
2018/04/03 DOTA
Python中多线程thread与threading的实现方法
2014/08/18 Python
python实现井字棋游戏
2020/03/30 Python
Django上线部署之IIS的配置方法
2019/08/22 Python
python使用梯度下降和牛顿法寻找Rosenbrock函数最小值实例
2020/04/02 Python
Python 改变数组类型为uint8的实现
2020/04/09 Python
520使用Python实现“我爱你”表白
2020/05/20 Python
Python SMTP配置参数并发送邮件
2020/06/16 Python
python super()函数的基本使用
2020/09/10 Python
CSS Grid布局教程之网格单元格布局
2014/12/30 HTML / CSS
CSS3 文字动画效果
2020/11/12 HTML / CSS
纯净、自信、100%的羊绒服装:360Cashmere
2021/02/20 全球购物
十月份红领巾广播稿
2014/01/22 职场文书
精彩广告词大全
2014/03/19 职场文书
低碳生活倡议书
2014/04/14 职场文书
运输企业安全生产责任书
2014/07/28 职场文书
上课随便讲话检讨书
2014/09/12 职场文书
满月酒邀请函
2015/01/30 职场文书
党员进社区活动总结
2015/05/07 职场文书
工程质量保证书
2015/05/09 职场文书
2015年见习期个人工作总结
2015/05/28 职场文书
工作态度怎么写
2015/06/25 职场文书
postman中form-data、x-www-form-urlencoded、raw、binary的区别介绍
2022/01/18 HTML / CSS