在firefox中没有onmouseleave,我该怎么解决。用onmouseout不行
    谢谢!!!!!!11

解决方案 »

  1.   

    onmouseout有些时候要自已做些处理来检测鼠标是否离开
      

  2.   

    还头一次听说有这个属性,这段程序可以模拟下,你看看是否可以,初步测试了下没多大问题
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>FireFox下模拟OnMouseEnter、OnMouseOut</title>
    </head>
    <body><div id="div1" style="width:500px;height:300px;border:1px solid red;"
        onmouseenter="alert('welcome!')"
        onmouseleave="alert('bye bye!')">
        <div id="div2" style="border:1px solid green;width:100%;">
         <p><span id="spn1">123</span></p>
        </div>
        <a id="lnk1" href="#">ddddddd</a>
        <textarea id="txt1" rows="10" cols="10"></textarea>
    </div>
    </body><script type="text/javascript">
    function $(sId){
    return document.getElementById(sId);
    }function isSubNode(oNode,oSubNode){
    oNode=oNode instanceof String?$(oNode):oNode;
    oSubNode=oSubNode instanceof String?$(oSubNode):oSubNode; var ParNode=oSubNode.parentNode;
    var isSub=false;

    while(ParNode&&ParNode.tagName!="HTML"){
    if(ParNode==oNode){
    isSub=true;
    break;
    }else{
    ParNode=ParNode.parentNode;
    }
    }
    return isSub;
    }//--------------------------------------------------////var oDiv=$("div1");//模拟onmouseenter,onmouseleave
    if(!document.all){
    oDiv.onmouseover=function(e){
    e=e||window.event;
    var oRT=e.relatedTarget;

    if(oRT&&oRT!=this&&!isSubNode(this,oRT)){
    alert("welcome!");
    }
    }

    oDiv.onmouseout=function(e){
    e=e||window.event;
    var oRT=e.relatedTarget;

    if(oRT&&oRT!=this&&!isSubNode(this,oRT)){
    alert("bye bye!");
    }
    }
    }
    </script>
    </html>