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 相关文章推荐
(JS实现)MapBar中坐标的加密和解密的脚本
May 16 Javascript
关于图片按比例自适应缩放的js代码
Oct 30 Javascript
40个新鲜出炉的jQuery 插件和免费教程[上]
Jul 24 Javascript
js获取当月最后一天实例代码
Nov 19 Javascript
关于JS 预解释的相关理解
Jun 28 Javascript
javascript类型系统——undefined和null全面了解
Jul 13 Javascript
基于JavaScript实现点击页面任何位置返回
Aug 31 Javascript
用director.js实现前端路由使用实例
Jan 27 Javascript
解决canvas画布使用fillRect()时高度出现双倍效果的问题
Aug 03 Javascript
AjaxUpLoad.js实现文件上传
Mar 05 Javascript
jQuery实现的监听导航滚动置顶状态功能示例
Jul 23 jQuery
vue 通过绑定事件获取当前行的id操作
Jul 27 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中header的用法详解
2013/06/07 PHP
使用array mutisort 实现按某字段对数据排序
2013/06/18 PHP
zend optimizer在wamp的基础上安装图文教程
2013/10/26 PHP
php解决和避免form表单重复提交的几种方法
2016/08/31 PHP
关于ThinkPhp 框架表单验证及ajax验证问题
2017/07/19 PHP
Yii Framework框架开发微信公众平台示例
2020/04/26 PHP
cnblogs csdn 代码运行框实现代码
2009/11/02 Javascript
js实现点击后将文字或图片复制到剪贴板的方法
2014/08/04 Javascript
js简单实现点击左右运动的方法
2015/04/10 Javascript
解析JavaScript的ES6版本中的解构赋值
2015/07/28 Javascript
canvas实现图像放大镜
2017/02/06 Javascript
详解windows下vue-cli及webpack 构建网站(二)导入bootstrap样式
2017/06/17 Javascript
浅谈sass在vue注意的地方
2017/08/10 Javascript
jQuery绑定事件方法及区别(bind,click,on,live,one)
2017/08/14 jQuery
Vue中定义全局变量与常量的各种方式详解
2017/08/23 Javascript
JavaScript 数组的进化与性能分析
2017/09/18 Javascript
前端Vue项目详解--初始化及导航栏
2019/06/24 Javascript
javascript事件监听与事件委托实例详解
2019/08/16 Javascript
微信小程序实现页面监听自定义组件的触发事件
2020/11/01 Javascript
[01:19]2014DOTA2国际邀请赛 采访TITAN战队ohaiyo 能赢DK很幸运
2014/07/12 DOTA
Python下的twisted框架入门指引
2015/04/15 Python
Python使用smtp和pop简单收发邮件完整实例
2018/01/09 Python
python2.7 json 转换日期的处理的示例
2018/03/07 Python
Sanic框架流式传输操作示例
2018/07/18 Python
python使用BeautifulSoup与正则表达式爬取时光网不同地区top100电影并对比
2019/04/15 Python
Jupyter Notebook 实现正常显示中文和负号
2020/04/24 Python
在tensorflow实现直接读取网络的参数(weight and bias)的值
2020/06/24 Python
Django配置跨域并开发测试接口
2020/11/04 Python
HTML5触摸事件(touchstart、touchmove和touchend)的实现
2020/05/08 HTML / CSS
韩国休闲女装品牌网站:ANAIS
2016/08/24 全球购物
安德玛比利时官网:Under Armour比利时
2019/08/28 全球购物
任长霞观后感
2015/06/16 职场文书
Pytorch实现图像识别之数字识别(附详细注释)
2021/05/11 Python
python3操作redis实现List列表实例
2021/08/04 Python
使用CSS3实现按钮悬停闪烁动态特效代码
2021/08/30 HTML / CSS
win10如何快速切换窗口 win10切换窗口快捷键分享
2022/07/23 数码科技