liupeng6899319 2010-01-14 09:12
浏览 248
已采纳

div层触发的问题?



testing...

<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>

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'; }

问题:在div_1层里加了一个超链接,怎么让鼠标移动到超链接的时候,不触发hideTip()事件?
[b]问题补充:[/b]
是啊是啊,会触发div_1的onmouseout

因为这是层里的超链接所以我不想触发onmouseout怎么办?
[b]问题补充:[/b]
我想有这个监听的,但是,现在层里包含了其他的标签,鼠标移动到这个标签,就触发了层的onmouseout,我想这个时候不触发他,就是在鼠标在层里的东西里的时候
不触发他.不管层里是否是嵌套标签等
[b]问题补充:[/b]
用你的话说

我是想不让这个标签不游离div_1这个层

  • 写回答

9条回答 默认 最新

  • contra_wind 2010-01-14 11:33
    关注

    把hideTip方法改为这样
    [code="java"]
    function hideTip(){
    var div_tip = document.getElementById("div_2");
    if(!div_tip.contains(event.toElement))
    {
    div_tip.style.display = 'none';
    }
    }
    [/code]

    因为鼠标移到链接上,会悬停,先触发 div的onMouseOut时间,所以我们加个判断,如果是属于当前DIV的元素,就不执行了。

    好了,记得要加分啊,楼主,加油!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(8条)

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘