忽略JS中同一元素的子元素的mouseenter/mouseout事件
Ignoring mouseenter/mouseout events on children of same element in JS
我在我的网站上使用这个菜单(http://tympanus.net/codrops/2013/04/17/slide-and-push-menus/),我稍微修改了一下。我不想使用按钮来显示和隐藏菜单,而是想在鼠标进入菜单的某个区域时显示菜单,并在鼠标离开菜单时消失。我设法实现在mouseenter
上显示菜单,然而,每当悬停在一个孩子的菜单只是不断显示和隐藏自己。JS代码可以在下面的代码片段中看到。
showLeft.onmouseover = function() {
classie.toggle( this, 'active' );
classie.toggle( menuLeft, 'cbp-spmenu-open' );
};
我做了一些研究,据我所知,这种现象被称为"冒泡",我试图通过事件源过滤事件的触发因素,但我没有成功。
是的,这是由您所识别的事件冒泡引起的。
解决这个问题的最简单的方法是使用jQuery,它通过它的mouseenter/mouseleave
事件专门处理这种情况。
$(elem).on("mouseenter", function() {
// your code
});
相关文章:
- CKEditor Widget-阻止编辑可编辑元素本身
- 如何设置html元素填充的动画
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 使用jQuery删除动态创建的元素上的mouseenter事件
- 拖动html元素时检测到mouseenter事件
- 纯JS:在悬停时使用mouseenter和mouseleave在元素上显示覆盖
- 为重复元素触发mouseenter和mouseleave
- 放大mouseenter上的svg组元素(D3)
- 为什么在SVG中进入/离开子元素时会触发mouseenter/mouseleave事件?
- 内(& # 39;mouseenter& # 39; . .不检测附加元素(jQuery)
- jquery.mouseenter()问题jquery.mouseleave()和子元素
- 忽略JS中同一元素的子元素的mouseenter/mouseout事件
- 为什么& # 39;mouseenter& # 39;Event does只对每次迭代中空格键#的第一个元素起作用
- JavaScript将mouseenter事件传递给位于另一个元素下面的元素
- 当动画元素接触鼠标时触发mouseenter
- 在元素上触发mouseenter,而不是真正的鼠标进入元素
- 停止ng mouseenter和ng mouseout在内部元素上触发
- 为什么mouseenter会触发函数,而你却没有'不要将鼠标悬停在元素上
- 如何检测当前是否有任何元素具有活动的mouseenter