<div id="menu" onmouseout="hideM()"></div>
Function hideM()
document.getElementById("menu").style.visibility="hidden"
End FunctionFunction showMenu(fid,title)
ids=split(fid,",")
ts=split(title,"<>")
For i=0 to ubound(ids)
inner=inner & "<li class=menuo onmouseover=this.className='menui' onmouseout=this.className='menuo'><a href=#>" & ts(i) & "</a></li>"
Next
document.getElementById("menu").innerHTML="<ul>" & inner & "</ul>"
document.getElementById("menu").style.visibility="visible"
document.getElementById("menu").style.pixelLeft=window.event.x-5
document.getElementById("menu").style.pixelTop=window.event.y-5
End Function

解决方案 »

  1.   

    Function hideM()
    document.getElementById("menu").style.visibility="hidden"
    End Function就是把菜单隐藏,<div >的内容全隐藏
      

  2.   

    <div onmouseout=hideMenu()>
       <ul>
           <li>ssssss</li>
           <li>ssssss</li>
           <li>ssssss</li>
       </ul>
    </div>
    onmouseout=hideMenu()去掉
      

  3.   

    不是的..
    <div onmouseout=hideMenu()>
       <ul>
           <li>ssssss</li>
           <li>ssssss</li>
           <li>ssssss</li>
       </ul>
    </div>
    这个仅仅是比方说的
    我觉得可能是因为鼠标移到div的一个子标签也算onmouseout
    不知道有什么办法没有
      

  4.   

    不因该用hidden 而是要用 display=none;
    document.getElementById("menu").style.display="none";
      

  5.   

    不可以啊,我还是觉得鼠标移到menu里的li也算menu的onmouseout
    怎样才能不触发这个事件
      

  6.   

    onmouseout  在这里与onmouseoer有点像,是这个意思吧
      

  7.   

    if(typeof(HTMLElement)!="undefined")
    {
      HTMLElement.prototype.contains = function(obj)
      {
        while(obj!=null && typeof(obj.tagName)!="undefind")
        {if(obj==this) return true; obj=obj.parentNode;} return false;
      };
    }这个问题是当鼠标从DIV划到它里面的LI时也会触发onmouseout事件,解决的办法有二,一是用setTimeout延迟再判断,这样的话可以判断出鼠标是否真的移出了DIV区域。二是用我上面的这段代码,在IE里是默认就支持contains的,在其它的浏览器里你加上这段代码就了可以支持了,用这个方法可以判断onmouseout的时候鼠标是不是真的划出了DIV区域。
      

  8.   

    看了msdn后知道onmouseleave是最方便的