JS在TextArea光标位置插入文字并实现移动光标到文字末尾


Posted in Javascript onJune 21, 2013

=IE支持document.selection
=Firefox,Chrome,Safari以及Opera都有selectionStart和selectionEnd属性

function insertText(obj,str) { 
if (document.selection) { 
var sel = document.selection.createRange(); 
sel.text = str; 
} else if (typeof obj.selectionStart === 'number' && typeof obj.selectionEnd === 'number') { 
var startPos = obj.selectionStart, 
endPos = obj.selectionEnd, 
cursorPos = startPos, 
tmpStr = obj.value; 
obj.value = tmpStr.substring(0, startPos) + str + tmpStr.substring(endPos, tmpStr.length); 
cursorPos += str.length; 
obj.selectionStart = obj.selectionEnd = cursorPos; 
} else { 
obj.value += str; 
} 
} 
function moveEnd(obj){ 
obj.focus(); 
var len = obj.value.length; 
if (document.selection) { 
var sel = obj.createTextRange(); 
sel.moveStart('character',len); 
sel.collapse(); 
sel.select(); 
} else if (typeof obj.selectionStart == 'number' && typeof obj.selectionEnd == 'number') { 
obj.selectionStart = obj.selectionEnd = len; 
} 
}

<input type="button" onclick="insertText(document.getElementById('text'),' 新文字—YoyiorLee ')" value="插入文字"></input>

<input type="button" onclick="moveEnd(document.getElementById('text'))" value="移到末尾"></input>
Javascript 相关文章推荐
js prototype 格式化数字 By shawl.qiu
Apr 02 Javascript
jquery ready(fn)事件使用介绍
Aug 21 Javascript
javascript获取元素CSS样式代码示例
Nov 28 Javascript
在JavaScript中如何解决用execCommand(
Oct 19 Javascript
Angularjs添加排序查询功能的实例代码
Oct 24 Javascript
p5.js入门教程之鼠标交互的示例
Mar 16 Javascript
webpack打包react项目的实现方法
Jun 21 Javascript
实现Vue的markdown文档可以在线运行的方法示例
Dec 11 Javascript
Vue入门之数量加减运算操作示例
Dec 11 Javascript
通过jQuery学习js类型判断的技巧
May 27 jQuery
Vue项目中使用WebUploader实现文件上传的方法
Jul 21 Javascript
vue 递归组件的简单使用示例
Jan 14 Vue.js
JS获得URL超链接的参数值实例代码
Jun 21 #Javascript
随窗体滑动的小插件sticky源码
Jun 21 #Javascript
jquery中文乱码的多种解决方法
Jun 21 #Javascript
js单向链表的具体实现实例
Jun 21 #Javascript
javascript setTimeout和setInterval计时的区别详解
Jun 21 #Javascript
js简易namespace管理器 实例代码
Jun 21 #Javascript
JavaScript中的this关键字介绍与使用实例
Jun 21 #Javascript
You might like
php print EOF实现方法
2009/05/21 PHP
PHP设计模式之调解者模式的深入解析
2013/06/13 PHP
php去除字符串中空字符的常用方法小结
2015/03/17 PHP
WordPress用户登录框密码的隐藏与部分显示技巧
2015/12/31 PHP
PHP模糊查询的实现方法(推荐)
2016/09/06 PHP
详谈php ip2long 出现负数的原因及解决方法
2017/04/05 PHP
js监听输入框值的即时变化onpropertychange、oninput
2011/07/13 Javascript
原生js实现的贪吃蛇网页版游戏完整实例
2015/05/18 Javascript
EasyUI中在表单提交之前进行验证
2016/07/19 Javascript
用v-html解决Vue.js渲染中html标签不被解析的问题
2016/12/14 Javascript
JavaScript仿聊天室聊天记录
2016/12/27 Javascript
EasyUI修改DateBox和DateTimeBox的默认日期格式示例
2017/01/18 Javascript
jQuery Ajax自定义分页组件(jquery.loehpagerv1.0)实例详解
2017/05/01 jQuery
seajs下require书写约定实例分析
2018/05/16 Javascript
微信小程序实现购物页面左右联动
2019/02/15 Javascript
angularjs请求数据的方法示例
2019/08/06 Javascript
layui输入框中只允许输入整数的实现方法
2019/09/18 Javascript
微信小程序:报错(in promise) MiniProgramError
2020/10/30 Javascript
Python中random模块生成随机数详解
2016/03/10 Python
Python 两个列表的差集、并集和交集实现代码
2016/09/21 Python
在双python下设置python3为默认的方法
2018/10/31 Python
pandas通过索引进行排序的示例
2018/11/16 Python
详解解决jupyter不能使用pytorch的问题
2021/02/18 Python
Python如何使用神经网络进行简单文本分类
2021/02/25 Python
html5跳转小程序wx-open-launch-weapp踩坑
2020/12/02 HTML / CSS
中国医药集团国药在线:国药网
2017/02/06 全球购物
教师自荐信
2013/12/10 职场文书
校园报刊亭的创业计划书
2014/01/02 职场文书
农村婚礼主持词
2014/03/13 职场文书
2014年“世界无车日”活动方案
2014/09/21 职场文书
三好学生个人总结
2015/02/15 职场文书
单身申明具结书
2015/02/26 职场文书
2015年挂职干部工作总结
2015/05/14 职场文书
2015年网管个人工作总结
2015/05/22 职场文书
SQL Server中交叉联接的用法详解
2021/04/22 SQL Server
python实现简单石头剪刀布游戏
2021/10/24 Python