我正在使用菜单到我的网站,我需要用户来回显示/隐藏子菜单+动画。
我收到了以下代码: http://jsfiddle.net/JyTPW/
当我鼠标悬停“产品”然后转到子元素时,会触发mouseout。我试图解决它,但我失败了。 我阅读了有关检查reltarget等的所有帖子,但仍然无法使其正常工作。
我真的很感谢你的帮助。
修改:
经过长时间的搜索,我找到了Cross-browser event registration,提供了mouseenter和mouseleave
它解决了我的问题。
答案 0 :(得分:4)
好吧,如果你考虑一下,它会按预期进行。但不像程序员那样。微软竭尽所能做你想做的事。其他人,没有。 解决方案?使用jQuery并收听自定义mousenter/mouseleave event
答案 1 :(得分:0)
查看jQuery源代码(开源是最好的),您可以看到它们是如何实现的。
https://github.com/jquery/jquery/blob/91824bd2923b99b03fd1a9c4447b46fd7cc96615/src/event.js#L659
虽然在处理程序中使用了一些jQuery API,但您可以清楚地看到它是如何工作的。它检查mouseover
事件对象并检查relatedTarget
是否是元素本身或后代。如果是,则调用回调触发器mouseleave。