我想编写一个简单的文本编辑器,我遇到一个问题.我用的iframe来制作.但我用<input type="submit" class="Div_toolbar_Bold" onclick="FormatText('bold');" name="Submit">调用JS时,就可以让iframe里的选定文本变成粗体,但我在<div ..><li onclick="FormatText('bold');"></li></div>用onclick调用时,iframe里的选定文本没有变化.都是调用的以下这段JS代码.
<script language="javascript" type="text/javascript">
function FormatText(command, option){
//document.frames["message"].document.execCommand(command, true, option);
   //frames.message.document.execCommand(command, true, option);
var oEditor=window.frames["message"];
        var oSel=oEditor.document.selection.createRange();
        oSel.execCommand(command) ;
   frames.message.focus();
}
</script>请问高手知道这是怎么回事吗??是不是我在DIV里面调用onclick事件时,使iframe的焦点失效了.如果是这个原因,那我应该怎么解决呢??请高手帮帮忙,小弟感激不尽啊.

解决方案 »

  1.   

    可能是你说的原因。在FormatText方法的开始加一个:frames.message.focus(); 试试。
      

  2.   

    哦,感谢cloudgamer,不亏是星级人物..哈哈,谢谢,感激感激,我怎么就没有想到用onmousedown呢?哈哈...
    同时也感明liuhongxing1908901 的急极参与..不过我现在又有一个新的问题了,我知道怎么让一个控件不失去焦点..
    当点击其它控件时,让光标一直都在另一个控件上聚焦.用JS应该怎么样才能办到,我找了很多相关资料,都没有准确答案..
    有那位高手知道吗?