我编写了一个的文本编辑器.我用的iframe来制作.当我在<div..><li onmousedown="FormatText('bold');"></li> </div> 用onmousedown调用第一次时,iframe里的选定文本加粗了,但当我想再次调用事件取消加粗的文本信息时,焦点失效了,不能定位到刚才选定的文本上,只有重新选定之前加粗的文本才能取消.但用<input   type="submit"   class="Div_toolbar_Bold"   onclick="FormatText('bold');"   name="Submit">调用就多次都可以将焦点放在选定的文本上.
关于焦点失效是怎么回事呢? 有办法控制焦点不失效吗?
<script   language="javascript"   type="text/javascript"> 
function   FormatText(command,   option){ 
document.frames["message"].document.execCommand(command,   true,   option); 
frames.message.focus(); 

</script> 

解决方案 »

  1.   

    把所有控制文本内容的按钮或其他标签内加上 hideFocus属性
      

  2.   

    各位高手,我在
    <script language="javascript" type="text/javascript">   
    function FormatText(command,option){   
    document.frames["message"].document.execCommand(command,true,option);   
    frames.message.focus();   
    frames["message"].document.createRange();
    }   
    </script> 
    一直报错..说对象不支持此属性和方法..是不是我用用法出错了..
      

  3.   

    frames.message.focus(); 这个你怎么放这里?这是什么意思?
      

  4.   

    <li   onmousedown="FormatText('bold');"> </li>
    --->>>试试以下:
    <li   onmousedown="FormatText('bold');" unselectable=on > </li>
      

  5.   

    frames.message.focus(); 聚焦啊..
      

  6.   

    每次操作完都设置frames.message.focus();