Javascript& HTML:让onmouseover为div而不是前景工作吗?

时间:2014-05-21 00:07:00

标签: javascript jquery html onmouseover

我有一系列以这种方式排列的div:

<div id="main">
   <div id="background"></div>
   <div id="foreground">
       <div id="foreground_element1></div>
       <div id="foreground_element2></div>
   </div>
</div>

背景div必须位于前景div之后。并且背景div比前景大;前景浮在它上面。我想要做的是每当有背景div的onmouseover动作时,我想运行我的JavaScript函数。

我遇到的问题是,如果鼠标位于前景区域,则onmouseover不会发出信号,即使背景div仍然存在于该空间中,它就在前景后面。这是一个问题。

我试图通过将所需的功能放在主div鼠标悬停上来解决它,但是当鼠标从背景div移动到前景div时,会同时调用mouseout和mouseover事件,这使我的函数运行两次,我只希望它运行一次。还有更多的复杂因素,因为前景div也有嵌套元素,它们再次触发了mouseout和mouseover组合。

有没有办法让onmouseover为整个背景div工作?或者我应该使用其他触发器吗?

1 个答案:

答案 0 :(得分:0)

我实际上很幸运地在网上找到了我自己的问题的答案:)在此发布以供其他人参考:

正如上面评论中提到的那样,Microsoft函数onMouseEnter正在寻找我正在寻找的东西。问题是它没有被其他浏览器广泛支持。但您可以编写一个JavaScript函数来模拟它,如下所述:http://dynamic-tools.net/toolbox/isMouseLeaveOrEnter/