css3 pointer-events 介绍详解


Posted in HTML / CSS onSeptember 18, 2017

pointer-events 是什么?

顾名思义,pointer-events 是一个用于 HTML 指针事件的属性。

pointer-events 可以禁用 HTML 元素的 hover/focus/active 等动态效果。

默认值为 auto,语法:

复制代码
代码如下:

pointer-events: auto | none | visiblepainted | visiblefill | visiblestroke | visible | painted | fill | stroke | all;

我们常用的 auto | none 属性,需要注意的是,其他的属性只有 SVG 元素适用。

auto:可以使用指针事件。

none:禁用指针事件,需要注意的是, 当禁用指针的的元素有子/父元素时,在时间冒泡/捕获阶段,事件将在其子/父元素触发。

常用场景

1、禁用 a 标签事件效果

在做 tab 切换的时候,当选中当前项,禁用当前标签的事件,只有切换其他 tab 的时候,才重新请求新的数据。

<!--CSS-->
 <style>
     .active{
         pointer-events: none;
     }
 </style>
 <!--HTML-->
 <ul>
     <li><a class="tab"></a></li>
     <li><a class="tab active"></a></li>
     <li><a class="tab"></a></li>
 </ul>

2、切换开/关按钮状态

点击提交按钮的时候,为了防止用户一直点击按钮,发送请求,当请求未返回结果之前,给按钮增加 pointer-events: none,可以防止这种情况,这种情况在业务中也十分常见。

<!--CSS-->
 .j-pro{
     pointer-events: none;
 }
 <!--HTML-->
 <button r-model={this.submit()} r-class={{"j-pro": flag}}>提交</button>
 <!--JS-->
 submit: function(){
     this.data.flag = true;
     this.$request(url, {
         // ...
         onload: function(json){
             if(json.retCode == 200){
                 this.data.flag = false;
             }
         }.bind(this)
         // ...
     });
 }

3、防止透明元素和可点击元素重叠不能点击

一些内容的展示区域,为了实现一些好看的 css 效果,当元素上方有其他元素遮盖,为了不影响下方元素的事件,给被遮盖的元素增加 pointer-events: none; 可以解决。

<!--CSS-->
 .layer{
     backround: linear-gradient(180deg, #fff, transparent);

 }
 .j-pro{
     poninter-events: none;
 }
 <!--HTML-->
 <ul>
     <li class="layer j-pro"></li>
     <li class="item"></li>
     <li class="item"></li>
     <li class="item"></li>
 </ul>

poninter-events 兼容性

css3 pointer-events 介绍详解

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

HTML / CSS 相关文章推荐
CSS3 Notes: -webkit-box-reflect实现倒影的实例
Dec 08 HTML / CSS
CSS3实现的渐变幻灯片效果
Dec 07 HTML / CSS
教你如何一步一步用Canvas写一个贪吃蛇
Oct 22 HTML / CSS
HTML5之SVG 2D入门12—SVG DOM及DOM操作介绍
Jan 30 HTML / CSS
HTML5新增的表单元素和属性实例解析
Jul 07 HTML / CSS
canvas与html5实现视频截图功能示例
Dec 15 HTML / CSS
使用spring mvc+localResizeIMG实现HTML5端图片压缩上传的功能
Dec 16 HTML / CSS
详解canvas绘制多张图的排列顺序问题
Jan 21 HTML / CSS
HTML5 播放 RTSP 视频的实例代码
Jul 29 HTML / CSS
HTML5 3D书本翻页动画的实现示例
Aug 28 HTML / CSS
HTML中meta标签及Keywords
Apr 15 HTML / CSS
HTML5 canvas实现的静态循环滚动播放弹幕
Jan 05 HTML / CSS
详解CSS3选择器:nth-child和:nth-of-type之间的差异
Sep 18 #HTML / CSS
HTML5+CSS3 实现灵动的动画 TAB 切换效果(DEMO)
Sep 15 #HTML / CSS
CSS3 Calc实现滚动条出现页面不跳动问题
Sep 14 #HTML / CSS
基于CSS3 animation动画属性实现轮播图效果
Sep 12 #HTML / CSS
用css3写出气球样式的示例代码
Sep 11 #HTML / CSS
CSS3的 fit-content实现水平居中
Sep 07 #HTML / CSS
CSS3的calc()做响应模式布局的实现方法
Sep 06 #HTML / CSS
You might like
短波的认识
2021/03/01 无线电
比较简单实用的PHP无限分类源码分享(思路不错)
2011/10/13 PHP
深入php var_dump()函数的详解
2013/06/05 PHP
Thinkphp实现站点静态化的方法详解
2017/03/21 PHP
PHP PDOStatement::errorCode讲解
2019/01/31 PHP
Node.js中使用事件发射器模式实现事件绑定详解
2014/08/15 Javascript
js自动生成的元素与页面原有元素发生堆叠的解决方法
2014/09/04 Javascript
jQuery使用append在html元素后同时添加多项内容的方法
2015/03/26 Javascript
javascript实现五星评价代码(源码下载)
2015/08/11 Javascript
纯JS代码实现一键分享功能
2016/04/20 Javascript
js 自带的 map() 方法全面了解
2016/08/16 Javascript
用jQuery旋转插件jqueryrotate制作转盘抽奖
2017/02/10 Javascript
jQuery中图片展示插件highslide.js的简单dom
2018/04/22 jQuery
利用Decorator如何控制Koa路由详解
2018/06/26 Javascript
解决vue中虚拟dom,无法实时更新的问题
2018/09/15 Javascript
angularjs实现table表格td单元格单击变输入框/可编辑状态示例
2019/02/21 Javascript
单线程JavaScript实现异步过程详解
2020/05/19 Javascript
微信小程序以7天为周期连续签到7天功能效果的示例代码
2020/08/20 Javascript
解决vue中使用less/sass及使用中遇到无效的问题
2020/10/24 Javascript
[01:35:53]完美世界DOTA2联赛PWL S3 Magma vs GXR 第二场 12.13
2020/12/17 DOTA
Python制作数据导入导出工具
2015/07/31 Python
使用Python的Twisted框架编写非阻塞程序的代码示例
2016/05/25 Python
Python读取数据集并消除数据中的空行方法
2018/07/12 Python
python读取csv和txt数据转换成向量的实例
2019/02/12 Python
使用Python3+PyQT5+Pyserial 实现简单的串口工具方法
2019/02/13 Python
Python 定义只读属性的实现方式
2020/03/05 Python
Python+Xlwings 删除Excel的行和列
2020/12/19 Python
介绍一下write命令
2012/09/24 面试题
2014年商场超市庆元旦活动方案
2014/02/14 职场文书
学校出纳员岗位职责
2014/03/18 职场文书
《从现在开始》教学反思
2014/04/15 职场文书
销售经理工作失职检讨书
2014/10/24 职场文书
体育教师个人工作总结
2015/02/09 职场文书
《法国号》教学反思
2016/02/22 职场文书
Python中常见的导入方式总结
2021/05/06 Python
MySQL中的引号和反引号的区别与用法详解
2021/10/24 MySQL