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 相关文章推荐
JavaScript constructor和instanceof,JSOO中的一对欢喜冤家
May 25 Javascript
Jquery调用webService远程访问出错的解决方法
May 21 Javascript
ajax与302响应代码测试
Oct 23 Javascript
Javascript排序算法之计数排序的实例
Apr 05 Javascript
解决node-webkit 不支持html5播放mp4视频的方法
Mar 11 Javascript
JavaScript中的getTimezoneOffset()方法使用详解
Jun 10 Javascript
JavaScript中判断两个字符串是否相等的方法
Jul 07 Javascript
浅谈js中调用函数时加不加括号的问题
Jul 28 Javascript
初学node.js中实现删除用户路由
May 27 Javascript
在vue中利用v-html按分号将文本换行的例子
Nov 14 Javascript
jquery实现点击弹出对话框
Feb 08 jQuery
Vue 电商后台管理项目阶段性总结(推荐)
Aug 22 Javascript
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 syntax error, unexpected $end 错误的一种原因及解决
2008/10/25 PHP
那些年一起学习的PHP(三)
2012/03/22 PHP
用php实现百度网盘图片直链的代码分享
2012/11/01 PHP
JavaScript中SQL语句的应用实现
2010/05/04 Javascript
基于Jquery的$.cookie()实现跨越页面tabs导航实现代码
2011/03/03 Javascript
基于jQuery实现图片的前进与后退功能
2013/04/24 Javascript
Express.JS使用详解
2014/07/17 Javascript
jquery ajax请求方式与提示用户正在处理请稍等
2014/09/01 Javascript
js自定义回调函数
2015/12/13 Javascript
JavaScript动态设置div的样式的方法
2015/12/26 Javascript
AngularJS表达式讲解及示例代码
2016/08/16 Javascript
Web前端开发之水印、图片验证码
2016/11/27 Javascript
Bootstrap基本模板的使用和理解1
2016/12/14 Javascript
Axios学习笔记之使用方法教程
2017/07/21 Javascript
深入探究angular2 UI组件之primeNG用法
2017/07/26 Javascript
解决在vue项目中,发版之后,背景图片报错,路径不对的问题
2018/03/06 Javascript
30分钟快速实现小程序语音识别功能
2018/11/27 Javascript
详解python实现读取邮件数据并下载附件的实例
2017/08/03 Python
pandas使用get_dummies进行one-hot编码的方法
2018/07/10 Python
python3模拟实现xshell远程执行liunx命令的方法
2019/07/12 Python
django页面跳转问题及注意事项
2019/07/18 Python
django中使用Celery 布式任务队列过程详解
2019/07/29 Python
Python 线程池用法简单示例
2019/10/02 Python
tensorflow 自定义损失函数示例代码
2020/02/05 Python
基于Python数据结构之递归与回溯搜索
2020/02/26 Python
在python中求分布函数相关的包实例
2020/04/15 Python
重构Python代码的六个实例
2020/11/25 Python
利用Python如何画一颗心、小人发射爱心
2021/02/21 Python
九年级英语教学反思
2014/01/31 职场文书
个人自我评价范文
2014/02/05 职场文书
中学生家长评语大全
2014/04/16 职场文书
小区文明倡议书
2014/05/16 职场文书
舞蹈教育学专业求职信
2014/06/29 职场文书
2014最新版群众路线四风整改措施
2014/09/24 职场文书
NodeJs内存占用过高的排查实战记录
2021/05/10 NodeJs
Python  序列化反序列化和异常处理的问题小结
2022/12/24 Python