我有一个小问题,请求您的帮助。 我有一个 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>
如你所见,该图片是
的子元素。我想只有在离开
时,子元素才会消失。然而,当鼠标移动到图片上时,似乎会调用MyFuncOut()函数(因为我猜测我是通过悬停在图片上离开
)。我不希望这种情况发生。我希望只有在我离开div区域时才调用MyFuncOut()函数。
我不知道当您将鼠标移动到子控件上时,它的父级将调用mouseout事件(即使我仍然在子控件上方,我也同时在父级上方)。我陷入了困境,需要您的建议。谢谢!
更改
好吧,事件冒泡不会在我“mouseout”子元素时将“mouseout”事件发送到父元素。它也不会在我“mouseover”子元素时向父元素发送“mouseover”事件。这不是我需要的。我需要父元素的“mouseout”事件在我“mouseover”子元素时不被发送。你明白了吗?当我不希望例如子元素上的单击事件被传播到父元素时,事件冒泡是有用的,但这不是我的情况。奇怪的是,我在同一个父元素内还有其他元素,当我“mouseover”它们时不会触发父级的“mouseout”事件。