CSS

指针事件 | pointer-events

pointer-events

pointer-eventsCSS属性指定在什么情况下(如果有的话)一个特定的图形元素都可以成为目标鼠标事件。

/* 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;

当此属性未指定时,visiblePainted值的相同特征适用于SVG内容。

除了指示该元素不是鼠标事件的目标之外,该值none指示鼠标事件“穿过”该元素,而是针对该元素下面的任何内容。

初始值auto
适用于所有元素
遗传
媒体visual
计算值作为指定
动画类型离散的
规范的顺序形式语法定义的独特的非模糊顺序

语法

pointer-events属性被指定为从下面的值列表中选择的单个关键字。

autopointer-events属性未指定时的表现效果相同,对于SVG内容,该值与visiblePainted效果相同

形式语法

auto | none | visiblePainted | visibleFill | visibleStroke | visible | painted | fill | stroke | all | inherit

实例

例1

/* Example 1: Makes all the img non-reactive to any mouse events such as dragging, hovering, clicking etc */ img { pointer-events: none; }

例2

使链接到http://example.com没有反应。

<ul> <li><a href="https://developer.mozilla.org">MDN</a></li> <li><a href="http://example.com">example.com</a></li> </ul>

a[href="http://example.com"] { pointer-events: none; }

注记

注意,通过使用防止元素被鼠标事件的目标pointer-events并不一定意味着元素上的鼠标事件监听器不能不会被触发。如果其中一个元素的子元素pointer-events明确设置为允许该子元素成为鼠标事件的目标,那么当事件沿父元素传播时,针对该子元素的任何事件都将通过父元素,并根据情况触发父元素上的事件侦听器。当然,屏幕上被父母覆盖而不是被孩子覆盖的点上的任何鼠标活动都不会被孩子或父母抓住(它将“穿过”父母并瞄准下面的任何东西)。

我们希望在HTML中提供更精细的控制(不仅仅是autonone),而元素的哪些部分将导致它“捕捉”鼠标事件,以及何时。为了帮助我们决定如何pointer-events进一步扩展HTML,如果您有任何特定的事情,您希望能够使用此属性,请将其添加到此维基页面的用例部分(不要担心关于保持整洁)。

规范

SpecificationStatusComment
Scalable Vector Graphics (SVG) 1.1 (Second Edition)The definition of 'pointer-events' in that specification.Recommendation

它对HTML元素的扩展,虽然出现在CSS基本用户界面模块级别3的早期草稿中,但已被推到了它的4级...

浏览器兼容性

FeatureChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari (WebKit)
SVG support1.0(Yes)1.5 (1.8)11.09.0 (2.0)3.0 (522)
HTML/XML content2.0(Yes)3.6 (1.9.2)11.015.04.0 (530)

FeatureAndroidEdgeFirefox Mobile (Gecko)IE PhoneOpera MobileSafari Mobile
Basic support2.1(Yes)3.611333.2