一个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事件鼠标的元素