我想问一下。。我点击程序代码的文本框输入代码时。。编辑器的光标焦点会没有了。。所以点击插入代码时。内容不是在光标处插入,变成了在编辑器最前面。。我加上: unselectable="on" 想防止转移焦点。。<textarea name="content" id="content" unselectable="on"></textarea>加上后,文本框也不能输入代码内容了。。怎么办?

解决方案 »

  1.   


    原来是这样。。[code=JScript]/插入HTML代码...
    function insertHTML(html)
    {
        var leleHTML = $('leleEditor').contentWindow;
    leleHTML.focus();
        if(window.isIE)
        {
            var o = leleHTML.document.selection.createRange(); 
            o.pasteHTML(html); 
        }
        else
        {
            leleHTML.document.execCommand("insertHTML",false,html);
    }
    }/插入代码
    function insertCode()
    {
    var html = ''
    +'<div class="codeFrame" unselectable="on">'
        +'  <div class="codeFrameContent">'
        +'    <div class="codeFrametitle">程序代码:</div>'
    +'    <textarea name="codeContent" id="codeContent"></textarea><br />'
    +'    <input type="button" value="插入代码" class="leleButton" onclick="setCodeValue()" unselectable="on" />'
    +'    <input type="button" value="取 消" class="leleButton" onclick="CloseDiv(\'codeFrame\')" />'
        +' </div>'
        +'</div>';
    $("codeFrame").style.display = "block";
    $("codeFrame").innerHTML = html;
    $("codeFrame").style.left = Position($("leleMedia-position"))-102+"px";
    }//插入代码,设置颜色
    function setCodeValue(){
    var leleHTML = $("leleEditor").contentWindow.document.getElementsByTagName("body")[0];
    var area = $("codeContent"); //文本框值
    if(area.value==""){alert("程序代码内容不能为空!");area.focus();return false;}
    //开始写入到编辑器
    var html = ''
    +'<div class="codeAll">'
        +'  <div class="codeTitle"><img src="/images/code.gif" style="margin-bottom:-2px;" />程序代码:</div>'
        +'  <div class="codeContent">'+area.value+'</div>'
        +'  </div><br>';
    insertHTML(html);
    CloseDiv("codeFrame");
    }
    [/code]这个是代码。不知道如何解决这个焦点的问题。