JQuery在光标位置插入内容的实现代码


Posted in Javascript onJune 18, 2010
(function($){ 
$.fn.extend({ 
insertAtCaret: function(myValue){ 
var $t=$(this)[0]; 
if (document.selection) { 
this.focus(); 
sel = document.selection.createRange(); 
sel.text = myValue; 
this.focus(); 
} 
else 
if ($t.selectionStart || $t.selectionStart == '0') { 
var startPos = $t.selectionStart; 
var endPos = $t.selectionEnd; 
var scrollTop = $t.scrollTop; 
$t.value = $t.value.substring(0, startPos) + myValue + $t.value.substring(endPos, $t.value.length); 
this.focus(); 
$t.selectionStart = startPos + myValue.length; 
$t.selectionEnd = startPos + myValue.length; 
$t.scrollTop = scrollTop; 
} 
else { 
this.value += myValue; 
this.focus(); 
} 
} 
}) 
})(jQuery);

使用方法:
$(selector).insertAtCaret("value");
Javascript 相关文章推荐
JavaScript进阶教程(第四课第一部分)
Apr 05 Javascript
jQuery表单域属性过滤器用法分析
Feb 10 Javascript
Jquery检验手机号是否符合规则并根据手机号检测结果将提交按钮设为不同状态
Nov 26 Javascript
微信小程序-详解数据缓存
Nov 24 Javascript
jQuery快速实现商品数量加减的方法
Feb 06 Javascript
详解JS中的柯里化(currying)
Aug 17 Javascript
vue2手机APP项目添加开屏广告或者闪屏广告
Nov 28 Javascript
vue中改变选中当前项的显示隐藏或者状态的实现方法
Feb 08 Javascript
VuePress 中如何增加用户登录功能
Nov 29 Javascript
vue组件创建的三种方式小结
Feb 03 Javascript
vue-cli设置css不生效的解决方法
Feb 07 Javascript
浅析JavaScript中的变量提升
Jun 01 Javascript
JavaScript Chart 插件整理
Jun 18 #Javascript
JavaScript在IE和Firefox浏览器下的7个差异兼容写法小结
Jun 18 #Javascript
Javascript下IE与Firefox下的差异兼容写法总结
Jun 18 #Javascript
js打印纸函数代码(递归)
Jun 18 #Javascript
jquery 弹出层注册页面等(asp.net后台)
Jun 17 #Javascript
jquery 多行滚动代码(附详细解释)
Jun 17 #Javascript
关于juqery radio写法的兼容性问题(新老版本jquery)
Jun 14 #Javascript
You might like
PHP 编写大型网站问题集
2010/05/07 PHP
PHP连接MSSQL时nvarchar字段长度被截断为255的解决方法
2014/12/25 PHP
PHP实现获取客户端IP并获取IP信息
2015/03/17 PHP
PHP判断是否为空的几个函数对比
2015/04/21 PHP
Codeigniter的dom类用法实例
2015/06/26 PHP
PHP微信支付实例解析
2016/07/22 PHP
Javascript Global对象
2009/08/13 Javascript
精心挑选的15款优秀jQuery 本特效插件和教程
2012/08/06 Javascript
JavaScript中几个重要的属性(this、constructor、prototype)介绍
2013/05/19 Javascript
js中的如何定位固定层的位置
2014/06/15 Javascript
Jquery选择器中使用变量实现动态选择例子
2014/07/25 Javascript
js实现精美的银灰色竖排折叠菜单
2015/05/16 Javascript
浅析AngularJS中的生命周期和延迟处理
2015/06/18 Javascript
JavaScript数组去重的6个方法
2017/01/21 Javascript
JS实现的点击表头排序功能示例
2017/03/27 Javascript
详解vue-router 2.0 常用基础知识点之导航钩子
2017/05/10 Javascript
基于JavaScript实现抽奖系统
2018/01/16 Javascript
基于vue实现可搜索下拉框定制组件
2020/03/26 Javascript
extract-text-webpack-plugin用法详解
2019/02/14 Javascript
24个ES6方法解决JS实际开发问题(小结)
2020/05/31 Javascript
[02:55]2018DOTA2国际邀请赛勇士令状不朽珍藏Ⅲ饰品一览
2018/08/01 DOTA
使用Python判断IP地址合法性的方法实例
2014/03/13 Python
跟老齐学Python之print详解
2014/09/28 Python
Python os模块学习笔记
2015/06/21 Python
python3 对list中每个元素进行处理的方法
2018/06/29 Python
python GUI库图形界面开发之PyQt5 Qt Designer工具(Qt设计师)详细使用方法及Designer ui文件转py文件方法
2020/02/26 Python
python读取excel进行遍历/xlrd模块操作
2020/07/12 Python
linux centos 7.x 安装 python3.x 替换 python2.x的过程解析
2020/12/14 Python
俄罗斯连接商品和买家的在线平台:goods.ru
2020/11/30 全球购物
自荐信怎么写呢?
2013/12/09 职场文书
数控专业毕业生自荐信范文
2014/03/04 职场文书
校长师德师风自我剖析材料
2014/09/29 职场文书
九华山导游词
2015/02/03 职场文书
初一年级组工作总结
2015/08/12 职场文书
goland设置颜色和字体的操作
2021/05/05 Golang
MySQL七大JOIN的具体使用
2022/02/28 MySQL