<html>
<head>
    <title>testing...</title> 
</head>
<body style="text-align:center;">    <center>
        x:<input type="text" id="x_id" value="" />
        y:<input type="text" id="y_id" value="" />
    </center>
    <!-- 
        body 中的 text-align:center;
        以及
        div 中的 margin:0px auto;
        是为了让 div 居中
    -->
    <div id="div_1" onMouseOver="showTip(event)" onMouseOut="hideTip()" 
        style="margin:0px auto;text-align:left;width:600px;height:60px;background-color:#DFE8F6;">
<a href="www.baidu.com">我晕我怎么不行呢?</a>
        与其在悬崖上展览千年,不如在爱人肩头痛哭一晚。<br />
        那弯弯的一轮新月,分明暗示着:怀抱着未来的圆满。<br />
    </div>
    <div id="div_2" style="position:absolute;text-align:left;background-color:#808080;">
        生如夏花之灿烂<br />
        死如秋叶之静美<br />
        换我心,为你心,此知相忆深。<br />
    </div>
    
</body>
<script type="text/javascript">
function showTip(evt){
    evt = evt || window.event;
    var x,y;
    if(evt.pageX || evt.pageY){
        // firefox
        x = evt.pageX;
        y = evt.pageY;
    }else{
        // ie 
        x = evt.clientX + document.body.scrollLeft - document.body.clientLeft;
        y = evt.clientY + document.body.scrollTop - document.body.clientTop;
    }
    //
    document.getElementById("x_id").value = x;
    document.getElementById("y_id").value = y;
    // 获取 div_1 的左下角坐标
    var div_el = document.getElementById("div_1");
    var div_left = div_el.offsetLeft;
    var div_top = div_el.offsetTop + div_el.offsetHeight;
    // 设置 div_2 的 左上角坐标
    var div_tip = document.getElementById("div_2"); 
    div_tip.style.display = ''; 
    div_tip.style.left = div_left + "px";
    div_tip.style.top = div_top + "px";
}
function hideTip(){
    var div_tip = document.getElementById("div_2"); 
    div_tip.style.display = 'none';
}
</script>
</html>问题在div_1层里加了一个超链接,怎么让鼠标移动到超链接的时候,不触发hideTip()事件?

解决方案 »

  1.   

    我是说,移到链接上就触发div_1的onmouseout事件hideTip了因为这是在层内的东西我如果不想触发他怎么办?
      

  2.   


    function hideTip(evt){
      evt = evt || window.event;
    tag = evt.target || evt.srcElement;
    if(tag.tagName == 'A'){
    return ;
    }
        var div_tip = document.getElementById("div_2"); 
        div_tip.style.display = 'none';
    }
    不知道是不是LZ要的
      

  3.   

    我是想不触发onmouseout这个事件,或者在hideTip这个函数中判断一下鼠标是否移动到还在层里的标签上