javascript在一段文字中的光标处插入其他文字


Posted in Javascript onAugust 26, 2007

例如:一个文本框里有一段文字,我要通过点击鼠标并且在相应的地方插入文本
我是这样做的:先获得文本框的值TextArea.Value,然后.TextArea.Value+其他文本

<script type="text/javascript">   
function setCaret(textObj){  
  if(textObj.createTextRange){    
    textObj.caretPos=document.selection.createRange().duplicate();    
  }  
}

function insertAtCaret(textObj,textFeildValue){  
  if(document.all){    
    if(textObj.createTextRange&&textObj.caretPos){      
      var caretPos=textObj.caretPos;      
      caretPos.text=caretPos.text.charAt(caretPos.text.length-1)==''?textFeildValue+'':textFeildValue;
    }else {      
      textObj.value=textFeildValue;      
    }    
  }else {    
    if(textObj.setSelectionRange){      
      var rangeStart=textObj.selectionStart;      
      var rangeEnd=textObj.selectionEnd;      
      var tempStr1=textObj.value.substring(0,rangeStart);      
      var tempStr2=textObj.value.substring(rangeEnd);      
      textObj.value=tempStr1+textFeildValue+tempStr2;      
    }else {      
      alert("This version of Mozilla based browser does not support setSelectionRange");      
    }    
  }  
}    
</script>   

<form id="form1" action="" onsubmit="" method="post" enctype="text/plain">     
<p>   
<textarea name="tarea" rows="" cols="" style="width:300px;height:120px;" onselect="setCaret(this);" onclick="setCaret(this);" onkeyup="setCaret(this);">
Dnew.cn  Dnew.cn
</textarea>   
<br/><br/>   
<input type="text" name="textfield" style="width:220px;" value="插入FireFox"/>   
<br/>   
<input type="button" value="插入" onclick="insertAtCaret(this.form.tarea,this.form.textfield.value);"/>   
</p>   
</form>   

Javascript 相关文章推荐
修改jQuery.Autocomplete插件 支持中文输入法 避免TAB、ENTER键失效、导致表单提交
Oct 11 Javascript
jquery.ui.progressbar 中文文档
Nov 26 Javascript
多种JQuery循环滚动文字图片效果代码
Jun 23 Javascript
第二次聊一聊JS require.js模块化工具的基础知识
Apr 17 Javascript
Javascript对象字面量的理解
Jun 22 Javascript
jQuery判断是否存在滚动条的简单方法
Sep 17 Javascript
Bootstrap table使用方法记录
Aug 23 Javascript
利用VS Code开发你的第一个AngularJS 2应用程序
Dec 15 Javascript
javascript、php关键字搜索函数的使用方法
May 29 Javascript
jQuery实现表格的增、删、改操作示例
Jan 27 jQuery
微信小程序开发打开另一个小程序的实现方法
May 17 Javascript
vue Treeselect下拉树只能选择第N级元素实现代码
Aug 31 Javascript
有一段有意思的代码-javascript现实多行信息
Aug 26 #Javascript
LBS blog sql注射漏洞[All version]-官方已有补丁
Aug 26 #Javascript
javascript下操作css的float属性的特殊写法
Aug 22 #Javascript
ASP中用Join和Array,可以加快字符连接速度的代码
Aug 22 #Javascript
可以把编码转换成 gb2312编码lib.UTF8toGB2312.js
Aug 21 #Javascript
lib.utf.js
Aug 21 #Javascript
javascript实现上传图片前的预览(TX的面试题)
Aug 20 #Javascript
You might like
PHP计数器的实现代码
2013/06/08 PHP
PHP实现对文本数据库的常用操作方法实例演示
2014/07/04 PHP
PHP explode()函数的几个应用和implode()函数有什么区别
2015/11/05 PHP
php实现网页端验证码功能
2017/07/11 PHP
PHP微信企业号开发之回调模式开启与用法示例
2017/11/25 PHP
ThinkPHP5框架中使用JWT的方法示例
2020/06/03 PHP
jQuery AJAX回调函数this指向问题
2010/02/08 Javascript
javascript中的注释使用与注意事项小结
2011/09/20 Javascript
jQuery实现图片信息的浮动显示实例代码
2013/08/28 Javascript
js 控制图片大小核心讲解
2013/10/09 Javascript
JSON格式的时间/Date(2367828670431)/格式转为正常的年-月-日 格式的代码
2016/07/27 Javascript
纯JS实现轮播图
2017/02/22 Javascript
Nodejs读取文件时相对路径的正确写法(使用fs模块)
2017/04/27 NodeJs
微信小程序项目实践之主页tab选项实现
2018/07/18 Javascript
jQuery选择器之基本选择器用法实例分析
2019/02/19 jQuery
微信小程序本地存储实现每日签到、连续签到功能
2019/10/09 Javascript
Vue自定义render统一项目组弹框功能
2020/06/07 Javascript
[04:27]DOTA2官方论坛水友赛集锦
2013/09/16 DOTA
[46:55]完美世界DOTA2联赛决赛 FTD vs Phoenix 第三场 11.08
2020/11/11 DOTA
Python实现的几个常用排序算法实例
2014/06/16 Python
Python实现二分查找与bisect模块详解
2017/01/13 Python
python实现linux下抓包并存库功能
2018/07/18 Python
ubuntu 18.04搭建python环境(pycharm+anaconda)
2019/06/14 Python
通过PHP与Python代码对比的语法差异详解
2019/07/10 Python
python matplotlib中的subplot函数使用详解
2020/01/19 Python
解决Python3.8用pip安装turtle-0.0.2出现错误问题
2020/02/11 Python
python 将视频 通过视频帧转换成时间实例
2020/04/23 Python
Hotels.com泰国:酒店预订网站
2019/11/20 全球购物
中专毕业生个人职业生涯规划
2014/02/19 职场文书
大学新生军训感言
2014/02/25 职场文书
中药学专业求职信
2014/05/31 职场文书
行政执法队伍作风整顿剖析材料
2014/10/11 职场文书
实习单位指导教师评语
2014/12/30 职场文书
利用python做表格数据处理
2021/04/13 Python
关于mysql中时间日期类型和字符串类型的选择
2021/11/27 MySQL
Python学习之包与模块详解
2022/03/19 Python