<ul>
<li id='A'></li>
<li id='B'></li>
<li id='C'></li>
</ul>
<div id='F'></div>
---
鼠标由 A 移入 F 的时候,如何得知是由那个 li 移入的;当移入到 F 时,将之前经过的 li 背景颜色替换。

解决方案 »

  1.   

    在指定的li的onmouseout事件里,进行跟踪处理
      

  2.   

    是srcElement和toElement,详见"Javascript高级程序设计" 9.4.2
      

  3.   

    看看这个是不是有帮助:http://www.jslab.org.cn/?tag=MouseLeave
      

  4.   

    高手都哪去了!
    ---
    <!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=gb2312" />
    <title></title>
    <style>
    *{margin:0;padding:0;}
    .ulList{width:200px;}
    .ulList li{height:20px;border-bottom:#333 1px solid;}
    .divBox{display:none;position:absolute;width:100px;height:100px;border:#333 1px solid;background:#fff;}
    </style>
    </head>
    <body>
    <ul class="ulList" id="ulList">
    <li>
    111111
    </li>
    <li>
    2222222
    </li>
    <li>
    333333
    </li>
    <li>
    4444444
    </li>
    </ul>
    <div id="divBox" class="divBox">
    <h2>1233</h2>
    <span>11111111</span>
    <div>123123</div>
    </div>
    <script>
    var overBase={
    $:function(id){return document.getElementById(id)}//获取对 ID 标签属性为指定值的第一个对象的引用
    ,tagArr:function(o,name){return o.getElementsByTagName(name)}//获取基于指定元素名称的对象集合
    ,offsetLT:function(o){//元素相对于整个窗口的位置 o对象 返回 x y
            var x = 0, y = 0;
            do { x += o.offsetLeft, y += o.offsetTop; } while (o = o.offsetParent);
            return { 'x' : x, 'y' : y };
        }
    }
    function setListEvent(id,tagName,showBoxId){
    var base=overBase;
    var arr=base.tagArr(base.$(id),tagName),len=arr.length,i=0;
    var showBoxObj=base.$(showBoxId);
    for(;i<len;i++){
    arr[i].onmouseover=function(){
    showBoxObj.style.display='block';
    var xy=base.offsetLT(this);
    showBoxObj.style.top=(xy.y+this.offsetHeight)+'px';
    showBoxObj.style.left=xy.x+'px';
    }
    arr[i].onmouseout=function(){
    showBoxObj.style.display='none';
    }
    }
    showBoxObj.onmouseover=function(){
    this.style.display='block';
    }
    showBoxObj.onmouseout=function(){
    this.style.display='none';
    }
    }
    setListEvent('ulList','li','divBox');
    </script>
    </body>
    </html>