【问题标题】:IE 11 Pointer Events OverrideIE 11 指针事件覆盖
【发布时间】:2021-02-15 06:15:48
【问题描述】:

我正在尝试覆盖包含 div 的指针事件属性。到目前为止,它适用于除 IE 11 之外的所有内容。据说,指针事件属性已添加到 IE 11。由于某种原因,它不会覆盖。

.divstyle {
    pointer-events: none;
}
.buttonstyle {
    pointer-events: auto;
}

<div class="divstyle">
    <table>
        <tr><td>
            <input type="button" class="buttonstyle" value="test">
        </td></tr>
        <tr><td>
            <!-- A BUNCH OF CONTENT THAT I DON'T WANT TO HAVE POINTER EVENTS -->
        </td></tr>
        <tr><td>
            <!-- AND ON AND ON -->
        </td></tr>
    </table>
</div>

整个 div 不允许指针事件,包括按钮。我认为由于 div 根本没有事件,IE 支持属性指针事件,但是当我明确设置孩子有事件时,由于某种原因它不会允许它。感谢您的帮助!

【问题讨论】:

标签: javascript css internet-explorer-11 pointer-events


【解决方案1】:

对于发现这一点的任何人 - IE11 会忽略内联项目(如标签)上的指针事件属性。只需将 display 属性切换为其他任何属性即可正常运行。

【讨论】:

  • 将显示更改为内联块解决了问题。
  • 谢谢!修复了我的特定问题
【解决方案2】:

我在 IE11 中遇到了相反的问题,我在父元素上设置了 pointer-events: none,但该元素内的链接仍然响应点击!事实证明,链接内的 span 有position: relative,这使它忽略了父级的指针事件属性。

【讨论】:

    【解决方案3】:

    我相信这会解决您的问题:

    https://coderwall.com/p/s8pjpg/reseting-pointer-events-on-ie11

    所以,对于您的代码:

    .divstyle {
        pointer-events: none;
    }
    .buttonstyle {
        pointer-events: auto;
        position: relative;
    }
    

    【讨论】:

      【解决方案4】:

      完美地使用内联块.. 显示:内联块;

      即使按类名也能正常工作

      a.pa-description {
        pointer-events: none;
       cursor: default;
      display: inline-block;
      color: gray;
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-12-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多