【问题标题】:Difference between onMouseOver and onMouseEnteronMouseOver 和 onMouseEnter 的区别
【发布时间】:2010-12-10 23:11:21
【问题描述】:

我正在尝试创建一个简单的 html 表格,当用户将鼠标悬停在该行上时会突出显示该行。不幸的是,CSS 悬停项不适用于 IE。这让我用 Javascript 模拟它。我可以使用onmouseenteronmouseover

它们之间有什么区别,我应该使用哪一个?

【问题讨论】:

    标签: javascript html dom-events


    【解决方案1】:

    onmouseenteronmouseover 在鼠标进入元素边界时触发。但是,如果鼠标进入第一个元素中的子元素,onmouseenter 不会再次触发(不会冒泡)。

    【讨论】:

    • 更新:Firefox 从版本 10(2012 年 1 月)开始支持 onmouseenter,Chrome 从版本 30(2013 年 10 月)开始支持它 (source)。除了this webkit bug,我找不到其他 Safari 的信息,该修复于 2013 年 4 月提交。所以onmouseenter 现在应该适用于大多数主要浏览器的用户。
    【解决方案2】:

    与 onmouseover 事件不同,onmouseenter 事件不会冒泡。换句话说,当用户将鼠标指针移到对象包含的元素上时,onmouseenter 事件不会触发,而 onmouseover 会触发。

    我总是使用鼠标悬停。我出于相同目的使用 onmouseover(突出显示一行)。

    【讨论】:

      【解决方案3】:

      您也可以通过添加对 IE 中所有元素的 :hover 支持来节省一些编码:
      试试csshover.htc

      【讨论】:

      • css 行为很慢。每次线程停止执行时它们都会运行。尝试从 htc 添加一些登录到 js 以查看此内容。如果您只是想创建悬停效果。我们使用 :hover ,它适用于除 IE6 之外的所有人。 IE6之死。我认为这是可以接受的,因为悬停效果很好。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-06
      • 2023-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-02
      • 1970-01-01
      相关资源
      最近更新 更多