JavaScript:Popup Bubble中的mouseout事件导致孩子隐藏

时间:2016-11-17 15:42:19

标签: javascript css events dom-events

我遇到一些事件传播问题。当我在mouseover div中description子元素时,description div和mouseovered子元素获得display:none;。发生此事件后,所选子项将保持不可见,直到页面刷新。 这是一个“工作”演示:

jsfiddle

我认为这主要原因是在jsfiddle上我的JS代码的第8-15行之间,mouseout在鼠标光标下没有找到description div的情况下立即触发。

通过在我的css中将:before添加到description div,我找不到优雅的解决方法。您可以在jsfiddle CSS部分中找到此解决方法。不幸的是,这阻止了在Popup Bubble中做任何事情(比如href点击)。我希望保持这种简单和功能,没有任何解决方法。

1 个答案:

答案 0 :(得分:1)

使用mouseleave并将其定位而不是e.target。 e.target将等于你所盘旋的东西。

https://jsfiddle.net/gfvq9yvp/6/

     e.target.children[a].addEventListener("mouseleave",function(e){
         this.style.display="none";
     }, false);