当前位置:软件学堂 > 资讯首页 > 网络编程 > 编程其他 > textarea中的文本插入

textarea中的文本插入

2012/10/22 19:48:08作者:佚名来源:网络

移动端

【实例名称】

textarea中的文本插入

【实例描述】

 在很多HTML编辑器中,可出轻松实现文本的增、删、改功能。本例将学习其中的插入或替换功能。
【实例代码】

 <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>标题页</title> <script LANGUAGE="JavaScript"> //选择文本时保存光标位置-单击时同样 function storePos (txtobj) {     if (txtobj.createTextRange)                      //获取选中的内容         txtobj.caretPos = document.selection.createRange().duplicate(); } function insertTextArea (txtobj, text) {     if (txtobj.createTextRange && txtobj.caretPos) {        var caretPos = txtobj.caretPos;               //获取光标所在的位置        //替换光标处位置        caretPos.text =caretPos.text.charAt(caretPos.text.length - 1) =='' ?text + '' : text;        }     else        txtobj.value = text;                          //直接显示插入的文本 } </script> </head> <body> <TEXTAREA NAME="mytxt" ROWS="5" COLS="25" WRAP="soft" onselect="storePos(this);" onclick="storePos(this);" onkeyup="storePos(this);"> 实现文本的插入,文本框可以实现增、删、改功能</TEXTAREA> <br /> <INPUT TYPE="text" NAME="insertTxt" SIZE="20" VALUE="要插入的文本"><br /> <INPUT TYPE="button" VALUE="插入文本" onclick="insertTextArea(mytxt, insertTxt.value);"> </body> </html>

【运行效果】

运行效果

【难点剖析】

 本例的重点是如何获取光标所在的位置。如果用户选择了一段文字,则使用“document selection createRallge().duplicate()”获取光标位置。

【源码下载】

本实例JS代码下载

 

标签: textarea