Onmouseover child div 问题和事件冒泡
我有一个小 div 位于(悬停)一个大 div 之上。
我将 onmouseover
和 onmouseout
事件分配给包装器 div。
用于图像标题翻转动画。
问题是当鼠标位于标题本身之上时,会导致不想要的结果(可能是事件冒泡)。
另一个问题:有时当您将鼠标从外部移动到容器时,您会得到一个三重序列:(应该只是 2):
-我结束了-
-我出去了-
-我结束了-
如何让它发挥作用? (没有 jQuery)
必须适用于所有浏览器。
我添加了firebug控制台日志,以更好地调试。
更新:
我已在 RollOverDescription
中添加了此内容(不在在线演示中):
if (!eventHandle) var eventHandle = window.event;
var srcEle = eventHandle.srcElement.id;
if(srcEle=="imageDescription" ){
return;
}
但它没有帮助。
I have a small div above (hover) a big one.
I assign onmouseover
and onmouseout
events to the wrapper div.
For image caption roll-over animation.
The problem is when the mouse is above the caption itself, causing an unwanted result (probably event bubbling).
And another problem: sometimes when you move mouse from outside to container you get a a triple sequence: (it should be just 2):
-I am over-
-I am out-
-I am over-
How to make it work? (no jQuery)
Must work on all browsers.
I have added firebug console log, to a better debugging.
UPDATE:
I've added this (not in the online demo) in RollOverDescription
:
if (!eventHandle) var eventHandle = window.event;
var srcEle = eventHandle.srcElement.id;
if(srcEle=="imageDescription" ){
return;
}
But it doesn't help.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这篇关于 quirksmode 的文章(靠近底部)对您所经历的情况进行了解释,并提供了可能对您有帮助的脚本。有很多关于鼠标事件的跨浏览器信息也
很好,这里有一些工作代码。我不保证这是最有效的或者它不会导致 IE 中的内存泄漏(或者它在 IE 中有效 - 请让我知道)。这就是人们使用图书馆的原因,更安全、更方便。
使用示例:
This article on quirksmode ( near the bottom ) has an explanation of what you are experiencing and a script that might help you. There is a lot of cross browser info regarding mouse events too
OK, here's some working code. I don't promise this is the most efficient or that it won't cause memory leaks in IE (or that it works in IE - please let me know ). This is why people use libraries, much safer and easier.
Example of use: