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 相关文章推荐
纯CSS打造(无图像无js)的非常流行的讲话(语音)气泡效果
Dec 28 HTML / CSS
纯CSS绘制漂亮的圆形图案效果
May 07 HTML / CSS
HTML5 Canvas图像模糊完美解决办法
Feb 06 HTML / CSS
基于 HTML5 WebGL 实现的垃圾分类系统
Oct 08 HTML / CSS
HTML5 Canvas绘制五星红旗
May 04 HTML / CSS
HTML5+WebSocket实现多文件同时上传的实例
Dec 29 HTML / CSS
H5 canvas实现贪吃蛇小游戏
Jul 28 HTML / CSS
HTML5 Canvas 实现圆形进度条并显示数字百分比效果示例
Aug 18 HTML / CSS
amazeui 验证按钮扩展的实现
Aug 21 HTML / CSS
Bootstrap File Input文件上传组件
Dec 01 HTML / CSS
CSS中Single Div 绘图技巧的实现
Jun 18 HTML / CSS
常用的文件对应的MIME类型汇总
Apr 26 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
PHPer 需要了解的 5 个 Composer 小技巧
2014/08/18 PHP
php和vue配合使用技巧和方法
2019/05/09 PHP
取得传值的函数
2006/10/27 Javascript
JavaScript中的isXX系列是否继续使用的分析
2011/04/16 Javascript
JavaScript中去掉数组中的重复值的实现方法
2011/08/03 Javascript
jquery获得keycode的示例代码
2013/12/30 Javascript
使用JS画图之点、线、面
2015/01/12 Javascript
js实现仿Windows风格选项卡和按钮效果实例
2015/05/13 Javascript
javascript实现支持移动设备画廊
2015/08/24 Javascript
Bootstrap的图片轮播示例代码
2015/08/31 Javascript
Backbone.js框架中Model与Collection的使用实例
2016/05/07 Javascript
Bootstrap图片轮播组件使用实例解析
2016/06/30 Javascript
JS中使用DOM来控制HTML元素
2016/07/31 Javascript
使用vue-router设置每个页面的title方法
2018/02/11 Javascript
js实现for循环跳过undefined值示例
2019/07/02 Javascript
如何阻止移动端浏览器点击图片浏览
2020/08/29 Javascript
[02:03]完美世界DOTA2联赛10月30日赛事集锦
2020/10/31 DOTA
Python实现的Kmeans++算法实例
2014/04/26 Python
基于python实现微信模板消息
2015/12/21 Python
python文件名和文件路径操作实例
2017/09/29 Python
Numpy中矩阵matrix读取一列的方法及数组和矩阵的相互转换实例
2018/07/02 Python
python实现几种归一化方法(Normalization Method)
2019/07/31 Python
Python实现图像的垂直投影示例
2020/01/17 Python
pandas将list数据拆分成行或列的实现
2020/12/13 Python
python Pexpect模块的使用
2020/12/25 Python
Html5原生拖拽相关事件简介以及基础实现
2020/11/19 HTML / CSS
计算机软件个人的自荐信范文
2013/12/01 职场文书
五年后的职业生涯规划
2014/03/04 职场文书
创意广告词
2014/03/17 职场文书
绩效管理实施方案
2014/03/19 职场文书
小学教师读书活动总结
2014/07/08 职场文书
中学生爱国演讲稿
2014/09/05 职场文书
工作总结与自我评价
2014/09/18 职场文书
使用Redis实现秒杀功能的简单方法
2021/05/08 Redis
python爬虫请求库httpx和parsel解析库的使用测评
2021/05/10 Python
JS的深浅复制详细
2021/10/16 Javascript