当前位置: 首页 > 图文教程 > 网络编程 > Javascript > javascript在一段文字中的光标处插入其他文字

Javascript
ExtJS 2.0实用简明教程 之ExtJS版的Hello
ExtJS 2.0 实用简明教程之布局概述
ExtJS 2.0实用简明教程之应用ExtJS
ExtJS 2.0实用简明教程 之获得ExtJS
javascript 扫雷游戏
ExtJS 2.2.1的grid控件在ie6中的显示问题
jquery-1.2.6得到焦点与失去焦点的写法
一组JS创建和操作表格的函数集合
extjs fckeditor集成代码
jquery 实现京东商城、凡客商城的图片放大效果
jQuery 技巧大全(新手入门篇)
JavaScript设置FieldSet展开与收缩
event.keyCode键码值表 附只能输入特定的字符串代码
js 图片缩放特效代码
jquery(1.3.2) 高亮选中图片边框
js 使用方法与函数 总结
Js 本页面传值实现代码
javascript获取div的内容 精华篇
innerText innerHTML的用法以及注意事项 [推荐]
jquery 圆角遮罩图片实现图片圆角

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 243 ::
收藏到网摘: n/a

例如:一个文本框里有一段文字,我要通过点击鼠标并且在相应的地方插入文本
我是这样做的:先获得文本框的值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>