对onmouseover和onmouseout的一些问题

对onmouseover和onmouseout的一些问题
一个div层,当鼠标进入触发OnMouseOver,出来的时候会触发时。
这是一个简单的逻辑,这就是我们想要的!但它也担心的是:当不仅仅在移动时触发,不仅会触发只在移动!当鼠标移动div里,它可能会触发onmouseover和onmouseout。
在上面的图片,for'a ',当鼠标enters'a(路径1),它会触发onmouseover事件A,然后鼠标移动to'b(路径2),then'a'triggers onmouseout(第一)和OnMouseOver(后)事件。

可以看出,如果在HTML元素的其他元素(A级)(B、C级),当我们将这些内部因素,我们将触发时,在最外层onmouseover事件(a'layer)。

这两个事件的触发物真的是你想要的吗也许你只需要一个触发器,在移动时,只触发在事件之外,不管是否有其他内部元素……

解决方案

有两个这样的事件,你需要在IE:OnMouseEnter和OnMouseLeave。但不幸的是,FF等浏览器不支持它,所以它必须模拟
复制代码代码如下所示:
document.getelementbyid('…')。onmouseover =功能(e){
如果(!E)E = window.event;
无功reltg = e.relatedtarget e.relatedtarget:e.fromelement;
而(reltg reltg!这reltg.parentnode reltg = =);
如果(reltg!=){
在这里,你可以写 / / OnMouseEnter事件处理代码
}
}
Document.getElementById ('...').Onmouseout = function (E) {
如果(!E)E = window.event;
无功reltg = e.relatedtarget e.relatedtarget:e.toelement;
而(reltg reltg!这reltg.parentnode reltg = =);
如果(reltg!=){
在这里你可以写OnMouseLeave码/事件
}
}

备注:uff1a

W3C添加relatedtarget属性mouseover和mouseout事件

在mouseover事件,它代表的是哪个元素鼠标来自
在mouseout事件,指出老鼠去元
和微软增加了两个属性mouseover和mouseout事件

fromelement,其中元素的鼠标是在mouseover事件
toelement,指向在mouseout事件鼠标的元素
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部