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控制上传文件的大小
Oct 26 Javascript
让人印象深刻的10个jQuery手风琴效果应用
May 08 Javascript
javascript如何判断输入的url是否正确
Apr 11 Javascript
Node.js安装教程和NPM包管理器使用详解
Aug 16 Javascript
jquery获取url参数及url加参数的方法
Oct 26 Javascript
js模仿java的Map集合详解
Jan 06 Javascript
浅谈Web页面向后台提交数据的方式和选择
Sep 23 Javascript
基于Vuejs的搜索匹配功能实现方法
Mar 03 Javascript
微信小程序实现发送验证码按钮效果
Dec 20 Javascript
微信小程序wx.navigateTo方法里的events参数使用详情及场景
Jan 07 Javascript
JavaScript canvas绘制圆弧与圆形
Feb 18 Javascript
vue实现自定义多选按钮
Jul 16 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 8小时时间差的解决方法小结
2009/12/22 PHP
php下批量挂马和批量清马代码
2011/02/27 PHP
PHP中用接口、抽象类、普通基类实现“面向接口编程”与“耦合方法”简述
2011/03/23 PHP
APACHE的AcceptPathInfo指令使用介绍
2013/01/18 PHP
php使用google地图应用实例
2014/12/31 PHP
php实现scws中文分词搜索的方法
2015/12/25 PHP
Symfony2联合查询实现方法
2016/03/18 PHP
Laravel日志用法详解
2016/10/09 PHP
检测jQuery.js是否已加载的判断代码
2011/05/20 Javascript
jQuery实现页面滚动时层智能浮动定位实例探讨
2013/03/29 Javascript
Angularjs整合微信UI(weui)
2016/03/15 Javascript
关于Jquery中的bind(),on()绑定事件方式总结
2016/10/26 Javascript
浅谈JS读取DOM对象(标签)的自定义属性
2016/11/21 Javascript
js实现短信发送倒计时功能(正则验证)
2017/02/10 Javascript
利用JS测试目标网站的打开响应速度
2017/12/01 Javascript
Vue项目组件化工程开发实践方案
2018/01/09 Javascript
JavaScript多态与封装实例分析
2018/07/27 Javascript
如何手动实现es5中的bind方法详解
2018/12/07 Javascript
在Vue项目中用fullcalendar制作日程表的示例代码
2019/08/04 Javascript
微信小程序 自定义复选框实现代码实例
2019/09/04 Javascript
python中cPickle用法例子分享
2014/01/03 Python
python中的多线程实例教程
2014/08/27 Python
python实现查询IP地址所在地
2015/03/29 Python
python比较两个列表是否相等的方法
2015/07/28 Python
Windows下的Jupyter Notebook 安装与自定义启动(图文详解)
2018/02/21 Python
Python对接六大主流数据库(只需三步)
2019/07/31 Python
应用OpenCV和Python进行SIFT算法的实现详解
2019/08/21 Python
Python ATM功能实现代码实例
2020/03/19 Python
css3进阶之less实现星空动画的示例代码
2019/09/10 HTML / CSS
一些.net面试题
2014/10/06 面试题
初中学生期末评语
2014/04/24 职场文书
信贷客户经理岗位职责
2015/04/09 职场文书
电力工程合作意向书
2015/05/11 职场文书
2015年纪委工作总结
2015/05/13 职场文书
python使用pygame创建精灵Sprite
2021/04/06 Python
Win11快速关闭所有广告推荐
2022/04/19 数码科技