ff支持标准dom,但是标准dom定义中div没有onblur事件.

解决方案 »

  1.   

    用event+"document.onmousedown"模拟了一个,不过得延迟提示,要不当选择里面的内容时有时要两次才失去焦点<script>
    var oldobj=null;
    var ns=navigator.appName=="Netscape";
    document.onmousedown=Hanlder;
    function Hanlder(e)
    {
     e=e?e:window.event;
     var tag=e.srcElement?e.srcElement:e.target;
     if(tag.tagName=="DIV")
     {
      if(oldobj==null)
         oldobj=tag;
      else if(oldobj!=tag)
      { 
        oldobj=tag;
        setTimeout("alert('我失去了输入焦点!')",10);    
      }
     }
     else if(oldobj!=null)
     {    oldobj=null;
        setTimeout("alert('我失去了输入焦点!')",10);
     }
    }
    var nsblur=false;
    </script>
    <div style="width:100px; height:100px; background-color:#0099FF;">aaa</div>
    <input type="text"/>
    <div style="width:100px; height:100px; background-color:#0099FF;">aaa</div>
      

  2.   


    <script>
    var oldobj=null;//获得焦点的div
    document.onmousedown=Hanlder;
    function Hanlder(e)
    {
     e=e?e:window.event;
     var tag=e.srcElement?e.srcElement:e.target;
     if(tag.tagName=="DIV")
     {
      if(oldobj==null)
         oldobj=tag;
      else if(oldobj!=tag)
      { 
        oldobj=tag;
        setTimeout("alert('我失去了输入焦点!')",10);    
      }
     }
     else if(oldobj!=null)
     {    oldobj=null;//把div焦点对象清除
        setTimeout("alert('我失去了输入焦点!')",10);
     }
    }
    </script>
    <div style="width:100px; height:100px; background-color:#0099FF;">aaa</div>
    <input type="text"/>
    <div style="width:100px; height:100px; background-color:#0099FF;">bbb</div>