JavaScript : mouseout event in Popup Bubble causing children to hide

标签 javascript css events dom-events

我遇到了一些事件传播的问题。当我 mouseover description div 中的子元素时,description div 以及 mouseovered 子元素得到 显示:无;。发生此事件后,选定的子项将保持不可见状态,直到页面刷新。 这是一个“工作”演示:

jsfiddle

我认为主要原因是我在 jsfiddle 上的 JS 代码的第 8-15 行之间的某处,如果找不到 description div,mouseout 会立即触发在鼠标光标下。

我发现通过将 :before 添加到我的 css 中的 description div 并不是很好的解决方法。您可以在 jsfiddle CSS 部分找到此解决方法的注释。不幸的是,这会阻止在 Popup Bubble 中做任何事情(比如 href 点击)。我想保持这种简单和实用,没有任何解决方法。

最佳答案

使用 mouseleave 和 target this 而不是 e.target。 e.target 将等于您悬停的内容。

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

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

关于JavaScript : mouseout event in Popup Bubble causing children to hide,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40659112/

相关文章:

c# - PropertyChanged 未附加

Java 事件、处理程序和监听器问题

javascript - CSS - 通过单击按钮显示元素

javascript - 通过 onmouseover 更改 td 的类属性

javascript - 在 jQuery 的 data() 方法中使用函数更新值设置变量等同于匿名函数,而不是返回值

html - 行延伸到它的容器之外

javascript - 如何使用 jQuery 知道 "select"输入值已更改?

javascript - 使用 XSS 执行 PHP 代码

CSS Sprites 浏览器渲染

html - 如何将 <div> 旋转 90 度?