基于jQuery的输入框在光标位置插入内容, 并选中


Posted in Javascript onOctober 29, 2011
// 
//使用方法 
//$(文本域选择器).insertContent("插入的内容"); 
//$(文本域选择器).insertContent("插入的内容",数值); //根据数值选中插入文本内容两边的边界, 数值: 0是表示插入文字全部选择,-1表示插入文字两边各少选中一个字符。 
// 
//在光标位置插入内容, 并选中 
(function($) { 
$.fn.extend({ 
insertContent: function(myValue, t) { 
var $t = $(this)[0]; 
if (document.selection) { //ie 
this.focus(); 
var sel = document.selection.createRange(); 
sel.text = myValue; 
this.focus(); 
sel.moveStart('character', -l); 
var wee = sel.text.length; 
if (arguments.length == 2) { 
var l = $t.value.length; 
sel.moveEnd("character", wee + t); 
t <= 0 ? sel.moveStart("character", wee - 2 * t - myValue.length) : sel.moveStart("character", wee - t - myValue.length); 
sel.select(); 
} 
} 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; 
if (arguments.length == 2) { 
$t.setSelectionRange(startPos - t, $t.selectionEnd + t); 
this.focus(); 
} 
} 
else { 
this.value += myValue; 
this.focus(); 
} 
} 
}) 
})(jQuery);
Javascript 相关文章推荐
csdn 论坛技术区平均给分功能
Nov 07 Javascript
JS操作Cookies的小例子
Oct 15 Javascript
javascript动态向网页中添加表格实现代码
Feb 19 Javascript
js 3秒后跳转页面的实现代码
Mar 10 Javascript
jquery text()方法取标签中的文本
Jul 25 Javascript
让你一句话理解闭包(简单易懂)
Jun 03 Javascript
微信小程序 Audio API详解及实例代码
Sep 30 Javascript
Vue中如何实现轮播图的示例代码
Jul 27 Javascript
详解Vue.directive 自定义指令
Mar 27 Javascript
微信小游戏之使用three.js 绘制一个旋转的三角形
Jun 10 Javascript
小程序实现锚点滑动效果
Sep 23 Javascript
JS实现鼠标按下拖拽效果
Jul 23 Javascript
基于jquery的无限级联下拉框js插件
Oct 29 #Javascript
对setInterval在火狐和chrome切换标签产生奇怪的效果之探索,与解决方案!
Oct 29 #Javascript
仿猪八戒网左下角的文字滚动效果
Oct 28 #Javascript
js实现双向链表互联网机顶盒实战应用实现
Oct 28 #Javascript
js常用代码段收集
Oct 28 #Javascript
jWiard 基于JQuery的强大的向导控件介绍
Oct 28 #Javascript
理解JSON:3分钟课程
Oct 28 #Javascript
You might like
全国FM电台频率大全 - 13 福建省
2020/03/11 无线电
调频问题解答
2021/03/01 无线电
世界咖啡生产者论坛呼吁:需要立即就咖啡价格采取认真行动
2021/03/06 咖啡文化
PHP 中执行系统外部命令
2006/10/09 PHP
php微信公众开发之获取周边酒店信息的方法
2014/12/22 PHP
laravel安装zend opcache加速器教程
2015/03/02 PHP
php计算整个目录大小的方法
2015/06/19 PHP
Yii2.0框架模型多表关联查询示例
2019/07/18 PHP
php设计模式之工厂模式用法经典实例分析
2019/09/20 PHP
PHP实现二维数组(或多维数组)转换成一维数组的常见方法总结
2019/12/04 PHP
javascript 基础篇3 类,回调函数,内置对象,事件处理
2012/03/14 Javascript
基于Jquery实现的一个图片滚动切换
2012/06/21 Javascript
关于JS判断图片是否加载完成且获取图片宽度的方法
2013/04/09 Javascript
Js nodeType 属性全面解析
2013/11/14 Javascript
JS实现日期时间动态显示的方法
2015/12/07 Javascript
BootStrap的alert提示框的关闭后再显示怎么解决
2016/05/17 Javascript
jQuery深拷贝Json对象简单示例
2016/07/06 Javascript
使用JS实现图片展示瀑布流效果(简单实例)
2016/09/06 Javascript
vue2.0开发实践总结之入门篇
2016/12/06 Javascript
JavaScript和jQuery制作光棒效果
2017/02/24 Javascript
JS数组操作之增删改查的简单实现
2017/08/21 Javascript
Vue中UI组件库之Vuex与虚拟服务器初识
2019/05/07 Javascript
微信小程序实现下拉加载更多商品
2020/12/29 Javascript
Vue如何实现变量表达式选择器
2021/02/18 Vue.js
[48:23]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#1COL VS EG第一局
2016/03/05 DOTA
python概率计算器实例分析
2015/03/25 Python
django项目运行因中文而乱码报错的几种情况解决
2017/11/07 Python
Python打印“菱形”星号代码方法
2018/02/05 Python
在Python dataframe中出生日期转化为年龄的实现方法
2018/10/20 Python
pandas分批读取大数据集教程
2020/06/06 Python
Python 代码调试技巧示例代码
2020/08/11 Python
CSS3的文字阴影—text-shadow的使用方法
2012/12/25 HTML / CSS
详解通过focusout事件解决IOS键盘收起时界面不归位的问题
2019/07/18 HTML / CSS
班组安全员工作职责
2014/02/01 职场文书
详解Laravel制作API接口
2021/05/31 PHP
【海涛教你打DOTA】剑圣第一人称视角解说
2022/04/01 DOTA