基于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 相关文章推荐
jQuery判断复选框是否勾选的原理及示例
May 21 Javascript
分享一个常用的javascript静态类
Dec 31 Javascript
js 动态添加元素(div、li、img等)及设置属性的方法
Jul 19 Javascript
Vue监听数组变化源码解析
Mar 09 Javascript
[js高手之路]图解javascript的原型(prototype)对象,原型链实例
Aug 28 Javascript
Vue引入sass并配置全局变量的方法
Jun 27 Javascript
对angularJs中2种自定义服务的实例讲解
Sep 30 Javascript
JavaScript实现小球沿正弦曲线运动
Sep 07 Javascript
使用form-create动态生成vue自定义组件和嵌套表单组件
Jan 18 Javascript
JS制作简易计算器的实例代码
Jul 04 Javascript
three.js 利用uv和ThreeBSP制作一个快递柜功能
Aug 18 Javascript
javascript Number 与 Math对象的介绍
Nov 17 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
php ci框架中加载css和js文件失败的原因及解决方法
2014/07/29 PHP
php简单统计字符串单词数量的方法
2015/06/19 PHP
php实现的中文分词类完整实例
2017/02/06 PHP
PHP简单装饰器模式实现与用法示例
2017/06/22 PHP
js直接编辑当前cookie的脚本
2008/09/14 Javascript
jquery 得到当前页面高度和宽度的两个函数
2010/02/21 Javascript
用js实现in_array的方法
2013/11/05 Javascript
基于jquery的simpleValidate简易验证插件
2014/01/31 Javascript
简介JavaScript中的sub()方法的使用
2015/06/08 Javascript
使用jquery实现鼠标滑过弹出更多相关信息层附源码下载
2015/11/23 Javascript
jQuery实现的多滑动门,多选项卡效果代码
2016/03/28 Javascript
bootstrapfileinput实现文件自动上传
2016/11/08 Javascript
JS实现微信弹出搜索框 多条件查询功能
2016/12/13 Javascript
jQuery EasyUI ProgressBar进度条组件
2017/02/28 Javascript
JavaScript学习笔记之函数记忆
2017/09/06 Javascript
jquery中done和then的区别(详解)
2017/12/19 jQuery
Vue中computed与methods的区别详解
2018/03/24 Javascript
原生JS与CSS实现软件卸载对话框功能
2019/12/05 Javascript
[07:39]第一届亚洲邀请赛回顾视频
2017/02/14 DOTA
[01:04:30]Fnatic vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
一步步解析Python斗牛游戏的概率
2016/02/12 Python
设计模式中的原型模式在Python程序中的应用示例
2016/03/02 Python
利用Python实现Windows下的鼠标键盘模拟的实例代码
2017/07/13 Python
Python(Django)项目与Apache的管理交互的方法
2018/05/16 Python
Python 面试中 8 个必考问题
2018/11/16 Python
python采集微信公众号文章
2018/12/20 Python
Python3.5内置模块之random模块用法实例分析
2019/04/26 Python
Python中的几种矩阵乘法(小结)
2019/07/10 Python
python实现udp传输图片功能
2020/03/20 Python
英国领先的体验日提供商:Buyagift
2019/04/19 全球购物
static关键字的用法
2013/10/07 面试题
《猫》教学反思
2014/02/26 职场文书
IT工程师岗位职责
2014/07/04 职场文书
工作年限证明模板
2014/11/01 职场文书
维稳承诺书
2015/01/20 职场文书
利用Python第三方库实现预测NBA比赛结果
2021/06/21 Python