html - 通过禁用的子元素进入时永远不会触发 Mouseenter

标签 html mouseenter mouseleave disabled-control

我有一个灰色的 div,其中有一个禁用的复选框。

http://jsfiddle.net/hFPTU/1/

我还有位于灰色框上方、复选框下方的蓝色 div。

当灰色框中触发 mouseentermouseleave 事件时,第三个 div 将更新为文本。鼠标进入灰色框->“ENTER”。鼠标离开灰色框->“离开”

一切都按预期工作,除了当您通过禁用的复选框进入灰色框时。

  1. 将鼠标移到蓝色框上
  2. 将鼠标移到复选框上
  3. 没有触发 Mouseenter 事件。

为什么会发生这种情况?

最佳答案

该复选框存在于具有 class 'a' 的蓝色框 div 中。
当您的鼠标通过该蓝色框内的复选框进入时,应该在那时触发 mouseenter 事件,但由于 jquery 不支持禁用元素上的事件,因此事件被阻止.

您的代码工作正常,符合预期。

更多详情,您可以引用以下链接:

http://bugs.jquery.com/ticket/11382

Event on a disabled input

关于html - 通过禁用的子元素进入时永远不会触发 Mouseenter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16305557/

相关文章:

javascript - 当我有多个具有相同类的 div 时,如何仅在 div 上执行操作

c# - 将 MouseEnter/MouseLeave 事件与 ContextMenus 一起使用

javascript - 如何停止 jQuery 函数 mouseenter() 和 mouseleave() 的重复?

html - 如何在使用垂直对齐属性 html 时删除边框

javascript - PagePiling.js 中的水平滚动部分

html - 如何在表单上添加附加参数,使用 GET 方法提交

php - 仅播放音频的 video/mp4 类型的 HTML5 视频

jquery - mouseenter 和 removeClass 不适用于隐藏对象

Jquery:如何向 mouseleave 添加延迟,以便如果有人无意间将鼠标悬停在元素上,它仍然保持打开状态

javascript - 如何在移动设备上手动触发mouseleave事件