<HTML>
<HEAD>
<TITLE>   New   Document   </TITLE>
</HEAD><BODY>
<SCRIPT language=JavaScript src="bbcode.js"></SCRIPT>
<TEXTAREA   NAME="aaa"   ROWS="6"   COLS="40" id="aaa">
</TEXTAREA>
<img   src="http://zi.csdn.net/qihoo_300_60.gif" id="a" onclick="doBtnClick(this)">
<SCRIPT   LANGUAGE="JavaScript">
<!--
function   doBtnClick(obj)   {
var b=document.createElement(obj.outerHTML)
aaa.appendChild(b);
}
//-->
</SCRIPT>
</BODY>
</HTML>

解决方案 »

  1.   

    如果你想做在线编辑,建议你还是不要这么做,可以看下
    document.execCommond方法
    <HTML>
    <HEAD>
    <TITLE>   New   Document   </TITLE>
    </HEAD><BODY>
    <SCRIPT language=JavaScript src="bbcode.js"></SCRIPT>
    <TEXTAREA   NAME="aaa"   ROWS="6"   COLS="40" id="aaa">
    aaaa
    bbbb
    </TEXTAREA>
    <img   src="http://zi.csdn.net/qihoo_300_60.gif" id="a" onclick="doBtnClick(this)">
    <SCRIPT   LANGUAGE="JavaScript">
    <!--
    function get(oTextarea){
    var qswh="@#%#^&#*$"
    oTextarea.focus();
    rng=document.selection.createRange();
    rng.text=qswh;
    var tmp=oTextarea.value.indexOf(qswh)
    rng.moveStart("character", -qswh.length)
    rng.text="";
    return tmp;
    }
    function   doBtnClick(obj)   {
    var index=get(document.getElementById("aaa"))
    var TextareaValue=document.getElementById("aaa").value;
    aaa.value=""
    var b1=document.createTextNode(TextareaValue.substring(0,index))
    aaa.appendChild(b1);
    var b2=document.createElement(obj.outerHTML)
    aaa.appendChild(b2);
    var b3=document.createTextNode(TextareaValue.substring(index))
    aaa.appendChild(b3);
    }
    //-->
    </SCRIPT>
    </BODY>
    </HTML>
      

  2.   

    做在线编辑的话,最好不要用 textarea用 iframe 会好很多的。