本帖最后由 sujunlin_1987 于 2010-03-25 23:58:09 编辑

解决方案 »

  1.   

    <script type="text/javascript"><!--
    function getAreaRange() {
        var obj=document.getElementById("text");
        var pos = new Object();
        var clone;
        if (isIE) {
            obj.focus();
            var range = document.selection.createRange();
            clone = range.duplicate();        clone.moveToElementText(obj);
            clone.setEndPoint( 'EndToEnd', range );        pos.start = clone.text.length - range.text.length;
            pos.end = clone.text.length - range.text.length + range.text.length;
        }else if(window.getSelection()) {
            pos.start = obj.selectionStart;
            pos.end = obj.selectionEnd;
        }
        
        obj.value=obj.value.substr(0,pos.start)+
                  ""+range.text+""+
                  obj.value.substr(pos.end)
    }
    var isIE = (navigator.appName.toLowerCase().indexOf('internet explorer')+1?1:0);
    // --></script>
    <body>
    <textarea id="text" >asdfg</textarea>
    <input type=button value=B onclick="getAreaRange();">
      

  2.   

    <script type="text/javascript">
     
    b = {bold:{open:"",close:""}}; 
    function makeitbold(){
      var $tb = document.getElementById("textbox");
     
      if (document.selection){
        var str=document.selection.createRange().text;
        var sel=document.selection.createRange();
        sel.text= b.bold.open +str+b.bold.close;
      }else if (typeof $tb.selectionStart != 'undefined'){
        var $before, $after, $selection;
        $before= $tb.value.substring(0, $tb.selectionStart)
        $selection = $tb.value.substring($tb.selectionStart, $tb.selectionEnd)
        $after = $tb.value.substring($tb.selectionEnd, $tb.value.length)
     
        $tb.value= String.concat($before, b.bold.open, $selection,b.bold.close, $after)
      }
       $tb.focus();
     
    }
     
    </script><form name="my_form">
        <textarea name="textbox" id="textbox"></textarea><br />
        <input type="button" value="bold" onclick="makeitbold();" />
    </form>