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 优势以及网页设计师如何使用CSS3技术
Jul 29 HTML / CSS
收集的22款给力的HTML5和CSS3帮助工具
Sep 14 HTML / CSS
今天学到的CSS最新技术(与图片背景相关)
Dec 24 HTML / CSS
一款纯css3实现的非常实用的鼠标悬停特效演示
Nov 05 HTML / CSS
canvas实现圆绘制的示例代码
Sep 11 HTML / CSS
HTML5的结构和语义(4):语义性的内联元素
Oct 17 HTML / CSS
HTML5实现获取地理位置信息并定位功能
Apr 25 HTML / CSS
html5实现多图片预览上传及点击可拖拽控件
Mar 15 HTML / CSS
详解html5 postMessage解决跨域通信的问题
Aug 17 HTML / CSS
使用canvas生成含有微信头像的邀请海报没有微信头像问题
Oct 29 HTML / CSS
AmazeUI 网格的实现示例
Aug 13 HTML / CSS
HTML+CSS+JavaScript实现图片3D展览的示例代码
Oct 12 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
人大复印资料处理程序_补充篇
2006/10/09 PHP
PHP 柱状图实现代码
2009/12/04 PHP
PHP下操作Linux消息队列完成进程间通信的方法
2010/07/24 PHP
php利用cookie实现访问次数统计代码
2011/05/19 PHP
php浏览历史记录的方法
2015/03/10 PHP
PHP实现对数字分隔加千分号的方法
2019/03/18 PHP
php 多个变量指向同一个引用($b = &amp;$a)用法分析
2019/11/13 PHP
javascript动态改变img的src属性图片不显示的解决方法
2010/10/20 Javascript
jquery表单对象属性过滤选择器实例分析
2015/05/18 Javascript
javascript实现简单的页面右下角提示信息框
2015/07/31 Javascript
JavaScript提高加载和执行效率的方法
2017/02/03 Javascript
PHP实现记录代码运行时间封装类实例教程
2017/05/08 Javascript
js分页之前端代码实现和请求处理
2017/08/04 Javascript
使用Vue开发动态刷新Echarts组件的教程详解
2018/03/22 Javascript
微信小程序自定义组件的实现方法及自定义组件与页面间的数据传递问题
2018/10/09 Javascript
详解将微信小程序接口Promise化并使用async函数
2019/08/05 Javascript
python rsa 加密解密
2017/03/20 Python
Python判断对象是否相等及eq函数的讲解
2019/02/25 Python
Django使用Celery加redis执行异步任务的实例内容
2020/02/20 Python
python解释器安装教程的方法步骤
2020/07/02 Python
scrapy redis配置文件setting参数详解
2020/11/18 Python
浅谈HTML5 &amp; CSS3的新交互特性
2016/07/19 HTML / CSS
Koral官方网站:女性时尚运动服
2019/04/10 全球购物
简述安装Slackware Linux系统的过程
2012/01/12 面试题
幼教简历自我评价
2014/01/28 职场文书
考核工作实施方案
2014/03/30 职场文书
公司捐款倡议书
2014/05/14 职场文书
测绘工程专业求职信
2014/07/15 职场文书
综治维稳工作承诺书
2014/08/30 职场文书
信用卡逾期证明示例
2014/09/13 职场文书
高中课前三分钟演讲稿
2014/09/13 职场文书
上课讲话检讨书范文
2015/05/07 职场文书
刑事申诉状范文
2015/05/20 职场文书
golang中字符串MD5生成方式总结
2021/07/04 Golang
浅谈MySQL函数
2021/10/05 MySQL
关于EntityWrapper的in用法
2022/03/22 Java/Android