9

我正在尝试覆盖包含 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 支持属性指针事件,但是当我明确设置孩子有事件时,由于某种原因它不会允许它。谢谢您的帮助!

4

4 回答 4

8

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

于 2018-05-30T19:38:19.403 回答
7

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

于 2016-05-20T20:53:09.913 回答
5

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

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

因此,对于您的代码:

.divstyle {
    pointer-events: none;
}
.buttonstyle {
    pointer-events: auto;
    position: relative;
}
于 2015-08-21T13:40:25.113 回答
2

使用内联块完美工作.. display: inline-block;

即使按类名也很好用

a.pa-description {
  pointer-events: none;
 cursor: default;
display: inline-block;
color: gray;
}
于 2019-04-24T03:18:40.170 回答