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 连接数据库如何操作数据库中的数据
Nov 23 Javascript
2种jQuery 实现刮刮卡效果
Feb 01 Javascript
浅谈js for循环输出i为同一值的问题
Mar 01 Javascript
JS闭包用法实例分析
Mar 27 Javascript
jQuery Ajax自定义分页组件(jquery.loehpagerv1.0)实例详解
May 01 jQuery
全面解析Node.js 8 重要功能和修复
Jun 02 Javascript
vue2.0移除或更改的一些东西(移除index key)
Aug 28 Javascript
Vue实现简单分页器
Dec 29 Javascript
react实现antd线上主题动态切换功能
Aug 12 Javascript
微信小程序制作扭蛋机代码实例
Sep 24 Javascript
浅谈vue的第一个commit分析
Jun 08 Javascript
Vue和Flask通信的实现
May 19 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
浅谈Windows下 PHP4.0与oracle 8的连接设置
2006/10/09 PHP
用PHP和ACCESS写聊天室(七)
2006/10/09 PHP
php基础知识:类与对象(3) 构造函数和析构函数
2006/12/13 PHP
php 调试利器debug_print_backtrace()
2012/07/23 PHP
php的4种常见运行方式
2015/03/20 PHP
PHP使用GD库输出汉字的方法【测试可用】
2016/11/10 PHP
php微信公众号开发之现金红包
2018/04/16 PHP
PHP _construct()函数讲解
2019/02/03 PHP
php中Swoole的热更新实现代码实例
2021/03/04 PHP
用js实现预览待上传的本地图片
2007/03/15 Javascript
Javascript Global对象
2009/08/13 Javascript
jQuery入门第一课 jQuery选择符
2010/03/14 Javascript
多引号嵌套的变量命名的问题
2014/05/09 Javascript
js实现同一个页面多个渐变效果的方法
2015/04/10 Javascript
jQuery构造函数init参数分析续
2015/05/13 Javascript
原生JavaScript实现Ajax异步请求
2017/11/19 Javascript
微信小程序模板和模块化用法实例分析
2017/11/28 Javascript
element 结合vue 在表单验证时有值却提示错误的解决办法
2018/01/22 Javascript
vue.js单文件组件中非父子组件的传值实例
2018/09/13 Javascript
对vue中的事件穿透与禁止穿透实例详解
2019/10/28 Javascript
原生js实现密码强度验证功能
2020/03/18 Javascript
[58:11]守擂赛第二周擂主赛 DeMonsTer vs Leopard
2020/04/28 DOTA
python实现将文件夹下面的不是以py文件结尾的文件都过滤掉的方法
2018/10/21 Python
基于python-opencv3的图像显示和保存操作
2019/06/27 Python
Python使用Opencv实现图像特征检测与匹配的方法
2019/10/30 Python
纯HTML+CSS3制作导航菜单(附源码)
2013/04/24 HTML / CSS
浅谈HTML5 defer和async的区别
2016/06/07 HTML / CSS
浅谈HTML5 Web Worker的使用
2018/01/05 HTML / CSS
加拿大床上用品、家居装饰、厨房和浴室产品购物网站:Linen Chest
2018/06/05 全球购物
医院辞职信范文
2014/01/17 职场文书
CAD制图人员的自荐信
2014/02/07 职场文书
贷款委托书范本
2014/04/08 职场文书
党的群众路线教育实践活动心得体会(教师)
2014/10/31 职场文书
财务审计整改报告
2014/11/06 职场文书
房地产销售员岗位职责
2015/04/11 职场文书
Python Pandas数据分析之iloc和loc的用法详解
2021/11/11 Python