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 相关文章推荐
Ext.FormPanel 提交和 Ext.Ajax.request 异步提交函数的区别
Nov 12 Javascript
使用javascript过滤html的字符串(注释标记法)
Jul 08 Javascript
Extjs NumberField后面加单位实现思路
Jul 30 Javascript
点击进行复制的JS代码实例
Aug 23 Javascript
javascript动态的改变IFrame的高度实现自动伸展
Oct 12 Javascript
javascript特效实现——当前时间和倒计时效果的简单实例
Jul 20 Javascript
防止重复发送 Ajax 请求
Feb 15 Javascript
浅谈Node.js 子进程与应用场景
Jan 24 Javascript
详解如何在Vue项目中导出Excel
Apr 19 Javascript
微信公众号H5之微信分享常见错误和问题(小结)
Nov 14 Javascript
Vue插件之滑动验证码用法详解
Apr 05 Javascript
一篇文章让你搞懂JavaScript 原型和原型链
Nov 23 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 截取字符串专题集合
2010/08/19 PHP
php expects parameter 1 to be resource, array given 错误
2011/03/23 PHP
php结合表单实现一些简单功能的例子
2011/06/04 PHP
php强制运行广告的方法
2014/12/01 PHP
thinkPHP删除前弹出确认框的简单实现方法
2016/05/16 PHP
Laravel 5.3 学习笔记之 配置
2016/08/28 PHP
利用PHP抓取百度阅读的方法示例
2016/12/18 PHP
Laravel使用RabbitMQ的方法示例
2019/06/18 PHP
jQuery插件 tabBox实现代码
2010/02/09 Javascript
jquery操作select option 的代码小结
2011/06/21 Javascript
setInterval()和setTimeout()的用法和区别示例介绍
2013/11/17 Javascript
js中函数声明与函数表达式
2015/06/03 Javascript
使用Node.js处理前端代码文件的编码问题
2016/02/16 Javascript
深入理解jquery中的事件与动画
2016/05/24 Javascript
JS获取checkbox的个数简单实例
2016/08/19 Javascript
JavaScript获取短信验证码(周期性)
2016/12/29 Javascript
NodeJS测试框架mocha入门教程
2017/03/28 NodeJs
js基于FileSaver.js 浏览器导出Excel文件的示例
2017/08/15 Javascript
详解vue2.0 使用动态组件实现 Tab 标签页切换效果(vue-cli)
2017/08/30 Javascript
微信小程序 input表单与redio及下拉列表的使用实例
2017/09/20 Javascript
详解多页应用 Webpack4 配置优化与踩坑记录
2018/10/16 Javascript
Vue-cli3多页面配置详解
2020/03/22 Javascript
pyv8学习python和javascript变量进行交互
2013/12/04 Python
Python多进程同步Lock、Semaphore、Event实例
2014/11/21 Python
python3.5 cv2 获取视频特定帧生成jpg图片
2019/08/28 Python
Python openpyxl 插入折线图实例
2020/04/17 Python
基于HTML5陀螺仪实现ofo首页眼睛移动效果的示例
2017/07/31 HTML / CSS
Nike瑞典官方网站:Nike.com (SE)
2018/11/26 全球购物
会计实习生自我鉴定
2013/12/12 职场文书
护士自我评价
2014/02/01 职场文书
培训楼经理岗位责任制
2014/02/10 职场文书
学校安全管理责任书
2014/07/23 职场文书
催款通知书范文
2015/04/17 职场文书
小学教师个人工作总结2015
2015/04/20 职场文书
总经理聘用协议书
2015/09/21 职场文书
小程序实现悬浮按钮的全过程记录
2021/10/16 HTML / CSS