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显示用户停留时间的简单实例
Aug 05 Javascript
鼠标滚轮改变图片大小的示例代码
Nov 20 Javascript
javascript使用for循环批量注册的事件不能正确获取索引值的解决方法
Dec 20 Javascript
JavaScript中实现依赖注入的思路分享
Jan 15 Javascript
JavaScript中的类与实例实现方法
Jan 23 Javascript
JavaScript模拟鼠标右键菜单效果
Dec 08 Javascript
再次谈论Javascript中的this
Jun 23 Javascript
67 个节约开发时间的前端开发者的工具、库和资源
Sep 12 Javascript
vue-router+vuex addRoutes实现路由动态加载及菜单动态加载
Sep 28 Javascript
bootstrap中selectpicker下拉框使用方法实例
Mar 22 Javascript
微信小程序ibeacon三点定位详解
Oct 31 Javascript
vue实现表格合并功能
Dec 01 Vue.js
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
重置版游戏视频
2020/04/09 魔兽争霸
批量修改RAR文件注释的php代码
2010/11/20 PHP
PHP判断上传文件类型的解决办法
2015/10/20 PHP
php gd等比例缩放压缩图片函数
2016/06/12 PHP
php下载文件,添加响应头的简单实例
2016/09/22 PHP
PHP实现Unicode编码相互转换的方法示例
2020/11/17 PHP
JavaScript中继承的一些示例方法与属性参考
2010/08/07 Javascript
一些常用弹出窗口/拖放/异步文件上传等实用代码
2013/01/06 Javascript
jQuery热气球动画半透明背景的后台登录界面代码分享
2015/08/28 Javascript
Angular.js回顾ng-app和ng-model使用技巧
2016/04/26 Javascript
JS实现本地存储信息的方法(基于localStorage与userData)
2017/02/18 Javascript
ThinkPHP+jquery实现“加载更多”功能代码
2017/03/11 Javascript
jQuery中可见性过滤器简单用法示例
2018/03/31 jQuery
微信小程序实现倒计时补零功能
2018/07/09 Javascript
vue拖拽组件使用方法详解
2018/12/01 Javascript
使用VueCli3+TypeScript+Vuex一步步构建todoList的方法
2019/07/25 Javascript
[36:33]完美世界DOTA2联赛循环赛 Matador vs Forest 第一场 11.06
2020/11/06 DOTA
Python基于scrapy采集数据时使用代理服务器的方法
2015/04/16 Python
pygame游戏之旅 载入小车图片、更新窗口
2018/11/20 Python
python提取具有某种特定字符串的行数据方法
2018/12/11 Python
说说如何遍历Python列表的方法示例
2019/02/11 Python
使用PyQtGraph绘制精美的股票行情K线图的示例代码
2019/03/14 Python
python3实现小球转动抽奖小游戏
2020/04/15 Python
Python中os模块功能与用法详解
2020/02/26 Python
基于Python脚本实现邮件报警功能
2020/05/20 Python
完美解决keras保存好的model不能成功加载问题
2020/06/11 Python
python海龟绘图之画国旗实例代码
2020/11/11 Python
详解Html5原生拖拽操作
2018/01/12 HTML / CSS
Canvas在超级玛丽游戏中的应用详解
2021/02/06 HTML / CSS
纽约21世纪百货官网:Century 21
2016/08/27 全球购物
UNIX文件类型
2013/08/29 面试题
夫妻分居协议书范本(有子女版)
2014/11/01 职场文书
2015年采购员工作总结
2015/04/27 职场文书
铁人观后感
2015/06/16 职场文书
Python中的pprint模块
2021/11/27 Python
使用python将HTML转换为PDF pdfkit包(wkhtmltopdf) 的使用方法
2022/04/21 Python