官方定义:pointer-events
CSS 属性指定在什么情况下 (如果有) 某个特定的图形元素可以成为鼠标事件的 target。
/* Keyword values */
pointer-events: auto;
pointer-events: none;
pointer-events: visiblePainted; /* SVG only */
pointer-events: visibleFill; /* SVG only */
pointer-events: visibleStroke; /* SVG only */
pointer-events: visible; /* SVG only */
pointer-events: painted; /* SVG only */
pointer-events: fill; /* SVG only */
pointer-events: stroke; /* SVG only */
pointer-events: all; /* SVG only */
/* Global values */
pointer-events: inherit;
pointer-events: initial;
pointer-events: unset;
除了指示该元素不是鼠标事件的目标之外,值none表示鼠标事件“穿透”该元素并且指定该元素“下面”的任何东西。
值
auto
与pointer-events属性未指定时的表现效果相同,对于SVG内容,该值与visiblePainted效果相同
none
元素永远不会成为鼠标事件的target。但是,当其后代元素的pointer-events
属性指定其他值时,鼠标事件可以指向后代元素,在这种情况下,鼠标事件将在捕获或冒泡阶段触发父元素的事件侦听器。
通俗就是:
例如用于div或者view上面(绑定一个点击事件)且添加pointer-events: none
,可以看见这个div或者view元素,但是实际不能点击触发这个div或者view(即触发不到了这个点击事件了)。相当于一个按钮控件一样了,disabled: none
,可看不可点击的效果。
<div class="no-click" v-click="onClick">点击一下</div>
...
.no-click {
pointer-events: none; // 实现点击不到的效果
}
所以,div就被禁止v-click,不会触发点击事件
同样道理,微信小程序view禁掉bindtap