【发布时间】:2012-05-23 23:36:53
【问题描述】:
我有这个小问题,我请求您的帮助。 我有一个 div 元素,里面有一个 img 元素,像这样
<div id="parent" onmouseover="MyFuncHover()" onmouseout="MyFuncOut()">
<img id="child" src="button.png" style="visibility: hidden" />
</div>
<script type="text/javascript">
function MyFuncHover() {
// Here I have some code that makes the "child" visible
}
function MyFuncOut() {
// Here I have some code that makes the "child" invisible again
}
</script>
如您所见,图像是 div 的子级。我希望只有当我离开 div 时,孩子才会消失。然而,当我将鼠标移到图像上时,似乎调用了 MyFuncOut() 函数(因为,我想,我通过悬停图像离开了 div)。我不希望这种情况发生。我希望只有在我离开 div 区域时才调用 MyFuncOut() 函数。
我不知道当您将鼠标移到子控件上时,它的父级会调用 mouseout 事件(即使我在子级上,我仍然在父级上)。我陷入了困境,我需要你的一些好建议。谢谢!
变化
好的。当我“mouseout”孩子时,事件冒泡不会将“mouseout”事件发送给父母。当我“鼠标悬停”孩子时,它也不会向父母发送“鼠标悬停”事件。那不是我需要的。当我“鼠标悬停”孩子时,我需要不发送父母的“mouseout”事件。得到它?例如,当我不希望将子项上的单击事件传播给父项时,事件冒泡很有用,但这不是我的情况。奇怪的是,当我“将鼠标悬停”它们时,我在同一个父元素中还有其他元素不会触发父元素的“mouseout”事件。
【问题讨论】:
标签: javascript parent-child mouseover mouseout