CSS的pointer-events属性详细介绍(作用和注意事项)


Posted in HTML / CSS onApril 23, 2014

而本文要说的pointer-events的风格更像JavaScript,它能够:

1.阻止用户的点击动作产生任何效果
.阻止缺省鼠标指针的显示
3.阻止CSS里的hover和active状态的变化触发事件
4.阻止JavaScript点击动作触发的事件

一个CSS属性能做所有的这么多事情!

The CSS

这个pointer-events属性有很多可以使用的属性值,但大部分都是针对SVG的:auto, none, visiblePainted*, visibleFill*, visibleStroke*, visible*, painted*, fill*, stroke*, all*, 以及 inherit。其中none值能阻止点击、状态变化和鼠标指针变化:

复制代码
代码如下:
.disabled { pointer-events: none; }

一些需要注意的关于pointer-events的事项:

1.子元素可以声明pointer-events来解禁父元素的阻止鼠标事件限制。
2.如果你对一个元素设置了click事件监听器,然后你移除了pointer-events样式声明,或把它的值改变为auto,监听器会重新生效。基本上,监听器会遵守pointer-events的设定。

测试代码:

复制代码
代码如下:

<p>下面的这个链接上的 <code>pointer-events</code>属性值是<code>none</code>。点击它们,什么都不会发生。我还在“测试”链接上添加了监听器。如果<code>pointer-events</code>的值是<code>none</code>,对话框就不会弹出来,你可以在console里修改它的值,这样点击后就会弹出对话框!</p>

<p><a href="javascript:;" id="testLink" style="pointer-events:none;">测试</a></p>

<p><a href="javascript:;" class="pointerLogo" style="pointer-events:none;">测试</a></p>

<script type="text/javascript">
document.getElementById("testLink").addEventListener("click", function(e) {
alert("点击了!");
});
</script>

我第一次注意到pointer-events属性是在Firefox Marketplace网站上,他们拿它来禁止按钮的点击,这样的好处是样式上也得到了控制。当然,不要使用pointer-events来屏蔽一些十分关键的触发动作,因为这个样式可以通过浏览器控制台删除掉!

HTML / CSS 相关文章推荐
如何利用CSS3制作3D效果文字具体实现样式
May 02 HTML / CSS
css3 线性渐变和径向渐变示例附图
Apr 08 HTML / CSS
css3 自定义字体font-face使用介绍
May 14 HTML / CSS
CSS3的column-fill属性对齐列内容高度的用法详解
Jul 01 HTML / CSS
CSS3实现淘宝留白的方法
Jun 05 HTML / CSS
HTML5实现Notification API桌面通知功能
Mar 02 HTML / CSS
HTML5是否真的可以取代Flash
Feb 10 HTML / CSS
使用html5+css3来实现slider切换效果告别javascript+css
Jan 08 HTML / CSS
HTML5之SVG 2D入门11—用户交互性(动画)介绍及应用
Jan 30 HTML / CSS
HTML5不支持标签和新增标签详解
Jun 27 HTML / CSS
html2canvas把div保存图片高清图的方法示例
Mar 05 HTML / CSS
html中相对位置与绝对位置的具体使用
May 15 HTML / CSS
纯CSS实现菜单、导航栏的3D翻转动画效果
Apr 23 #HTML / CSS
css3和jquery实现自定义checkbox和radiobox组件
Apr 22 #HTML / CSS
css3实现垂直下拉动画菜单示例
Apr 22 #HTML / CSS
纯CSS改变webkit内核浏览器的滚动条样式
Apr 17 #HTML / CSS
css3实现超立体3D图片侧翻倾斜效果
Apr 16 #HTML / CSS
纯CSS和jQuery实现的在页面顶部显示的进度条效果2例(仿手机浏览器进度条效果)
Apr 16 #HTML / CSS
纯CSS实现的大小渐变、渐远效果
Apr 15 #HTML / CSS
You might like
PHP+DBM的同学录程序(1)
2006/10/09 PHP
深入解析phpCB批量转换的代码示例
2013/06/27 PHP
Symfony数据校验方法实例分析
2015/01/26 PHP
PHP超全局数组(Superglobals)介绍
2015/07/01 PHP
js两行代码按指定格式输出日期时间
2011/10/21 Javascript
jquery图片放大功能简单实现
2013/08/01 Javascript
js遍历子节点子元素附属性及方法
2014/08/19 Javascript
smartcrop.js智能图片裁剪库
2015/10/14 Javascript
jQuery UI库中dialog对话框功能使用全解析
2016/04/23 Javascript
jQuery Dom元素操作技巧
2018/02/04 jQuery
javascript Canvas动态粒子连线
2020/01/01 Javascript
vue项目创建步骤及路由router
2020/01/14 Javascript
js实现车辆管理系统
2020/08/26 Javascript
[39:08]完美世界DOTA2联赛PWL S3 LBZS vs CPG 第一场 12.12
2020/12/16 DOTA
Django小白教程之Django用户注册与登录
2016/04/22 Python
Python网络爬虫项目:内容提取器的定义
2016/10/25 Python
Python中强大的命令行库click入门教程
2016/12/26 Python
pygame 精灵的行走及二段跳的实现方法(必看篇)
2017/07/10 Python
Java及python正则表达式详解
2017/12/27 Python
Tornado高并发处理方法实例代码
2018/01/15 Python
Python进程间通信Queue实例解析
2018/01/25 Python
Python使用Pickle库实现读写序列操作示例
2018/06/15 Python
Python对象转换为json的方法步骤
2019/04/25 Python
Python3基础教程之递归函数简单示例
2019/06/07 Python
在python下使用tensorflow判断是否存在文件夹的实例
2019/06/10 Python
深入了解Python枚举类型的相关知识
2019/07/09 Python
python opencv将表格图片按照表格框线分割和识别
2019/10/30 Python
Python使用matplotlib 画矩形的三种方式分析
2019/10/31 Python
浅谈Tensorflow加载Vgg预训练模型的几个注意事项
2020/05/26 Python
python多线程爬取西刺代理的示例代码
2021/01/30 Python
美特斯邦威官方商城:邦购网
2016/10/13 全球购物
三维科技面试题
2013/07/27 面试题
人生哲理妙语30条:淡写流年,笑过人生
2019/09/04 职场文书
导游词之山东孔庙
2019/11/04 职场文书
Mysql中的触发器定义及语法介绍
2022/06/25 MySQL
基于Python编写一个监控CPU的应用系统
2022/06/25 Python