10

我想禁用除单击之外的所有鼠标事件,我有这个:

.info {
    -webkit-transform: rotate3d(1, 0, 0, 90deg);
    transform: rotate3d(1, 0, 0, 90deg);
    width: 100%;
    height: 100%;
    padding: 20px;
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 4px;
    pointer-events: none;
    background-color: rgba(26, 188, 156, 0.9);
}

但是指针事件:无;禁用所有事件。

4

2 回答 2

7

指针事件属性只有三个属性:

  • 没有任何,
  • 汽车,
  • 继承

所以如果你附上

    pointer-events: none;

对于一个元素,所有事件都将被禁用。

    pointer-events: auto;

然而,恢复所有默认功能,如果元素的父元素有指针事件:无。

我认为您会发现有用的解决方法(除了一些 JavaScript 操作)是将对象包装在父容器中并添加

    pointer-events: none;

到该父容器并使用:

    pointer-events: auto;

在 .info 上并将 .info 添加到容器的子元素中。

它不会完全实现您正在寻找的东西,但它会复制那种只有点击的错觉。

于 2015-06-24T20:50:13.270 回答
2

一种方法是首先将任何一个元素的所有实例设为:

 pointer-event:none

例如,在这里我将所有img标签都制作为pointer-event:nonecss 文件:

img{
        pointer-event:none
     }

那么您必须将可点击元素(例如img)包含在另一个标签(例如div, span)中

例如:

<div class="enclosing-img-class" click="sampleEvent()">
  <img src="sample.png" alt="No Image available">
</div>
于 2017-08-28T09:15:11.820 回答