我正在尝试创建一个下拉菜单作为主菜单的子菜单。子菜单只是一个包含项目/链接的 div 元素。单击主菜单项时,子菜单会下拉并停留在那里。这很容易,但是如果光标离开子菜单,我希望子菜单向上滑动。换句话说,一个简单的“mouseout”事件。然而,似乎当光标进入子菜单内的一项时,会触发“mouseout”事件。如果您考虑一下,这就是您想要的,因为光标确实离开了子菜单元素,即使它没有离开它的边界。但是,这确实会带来问题,因为我只希望在光标移到子菜单元素边界之外时触发事件。
真正归结为,在另一个 div 中包含一个 div,如下所示:
----------------------------
| DIV-1 |
| |
| ------------- |
| | | |
| | DIV-2 | | AREA OUTSIDE DIV-1
| | | |
| | | |
| | | |
| ------------- |
| |
| |
----------------------------
现在,有两件事可能会导致 DIV-1 触发“mouseout”事件:
- 光标从 DIV-1 的边界内移动到这些边界外的区域
- 光标从 DIV-1 的边界内移动到 DIV-2 的区域
我的目标是能够将这两种情况彼此区分开来,但我无法弄清楚如何。
有没有人有一个很好的解决这个问题的方法?这似乎是一个足够普遍的功能,所以一定有人解决了它。