css3pointer-events(阻⽌hover、active、onclick等触发事件)pointer-events CSS 属性指定在什么情况下 (如果有) 某个特定的图形元素可以成为⿏标事件的。
/* 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
适⽤元素all elements
是否是继承属性yes
适⽤媒体visual
计算值as specified
Animation type discrete
正规顺序the unique non-ambiguous order defined by the formal grammar
pointer-events 更像是JavaScript,它能够:
阻⽌⽤户的点击动作产⽣任何效果
阻⽌缺省⿏标指针的显⽰
阻⽌CSS⾥的 hover 和 active 状态的变化触发事件
阻⽌JavaScript点击动作触发的事件
实际代码使⽤中案例:
css鼠标点击样式1、提交页⾯,提交按钮点击后,添加这个样式属性(),来防⽌重复提交。 @camnpr
2、⼀些层的绝对定位,覆盖按钮,穿透可以点击它。等等。
来看下具体⽤法:
pointer-events: auto | none | visiblePainted | visibleFill | visibleStroke | visible | painted | fill | stroke | all | inherit
pointer-events属性有很多值,但是对于浏览器来说,只有auto和non两个值可⽤,其它的⼏个是针对SVG的(本⾝这个属性就来⾃于SVG技术)。
pointer-events属性值详解
auto——效果和没有定义pointer-events属性相同,⿏标不会穿透当前层。在SVG中,该值和visiblePainted的效果相同。
none——元素不再是⿏标事件的⽬标,⿏标不再监听当前层⽽去监听下⾯的层中的元素。但是如果它的⼦元素设置了pointer-events为其它值,⽐如auto,⿏标还是会监听这个⼦元素的。
其它属性值为SVG专⽤,这⾥不再多介绍了。
浏览器兼容性
Firefox 3.6+和chrome 2.0+ 以及safari 4.0+都⽀持这个CSS3属性,IE6/7/8/9都不⽀持(IE11⼜⽀持,不过很好的⼀点是在ie中给a加disabled 点击事件⾃动⽆效。),Opera在SVG中⽀持。但是该属性HTML中不⽀持。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论