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效果附图
Sep 03 HTML / CSS
CSS3打造百度贴吧的3D翻牌效果示例
Jan 04 HTML / CSS
详解CSS3 filter:drop-shadow滤镜与box-shadow区别与应用
Aug 24 HTML / CSS
HTML5组件Canvas实现图像灰度化(步骤+实例效果)
Apr 22 HTML / CSS
HTML5 script元素async、defer异步加载使用介绍
Aug 23 HTML / CSS
实例教程 利用html5和css3打造一款创意404页面
Oct 20 HTML / CSS
Html5插件教程之添加浏览器放大镜效果的商品橱窗
Jan 07 HTML / CSS
关于老式浏览器兼容HTML5和CSS3的问题
Jun 01 HTML / CSS
详解HTML5 data-* 自定义属性
Jan 24 HTML / CSS
浅析canvas元素的html尺寸和css尺寸对元素视觉的影响
Jul 22 HTML / CSS
html5实现滑块功能之type=&quot;range&quot;属性
Feb 18 HTML / CSS
table设置超出部分隐藏,鼠标移上去显示全部内容的方法
Dec 24 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应用程序的七个习惯深入分析
2013/06/08 PHP
浅析php中三个等号(===)和两个等号(==)的区别
2013/08/06 PHP
thinkphp实现多语言功能(语言包)
2014/03/04 PHP
浅析ThinkPHP中execute和query方法的区别
2014/06/13 PHP
ThinkPHP和UCenter接口冲突的解决方法
2016/07/25 PHP
js getBoundingClientRect() 来获取页面元素的位置
2010/11/25 Javascript
JavaScript声明变量时为什么要加var关键字
2014/09/29 Javascript
JavaScript实现判断图片是否加载完成的3种方法整理
2015/03/13 Javascript
jQuery构造函数init参数分析续
2015/05/13 Javascript
JS简单限制textarea内输入字符数量的方法
2015/10/14 Javascript
jQuery多条件筛选如何实现
2015/11/04 Javascript
Backbone.js框架中简单的View视图编写学习笔记
2016/02/14 Javascript
js修改onclick动作的四种方法(推荐)
2016/08/18 Javascript
Express使用html模板的详细代码
2017/09/18 Javascript
js 中rewrap-ajax.js插件实例代码
2017/10/20 Javascript
关于vue中watch检测到不到对象属性的变化的解决方法
2018/02/08 Javascript
Vue 自定义动态组件实例详解
2018/03/28 Javascript
react native 仿微信聊天室实例代码
2019/09/17 Javascript
这样回答继承可能面试官更满意
2019/12/10 Javascript
[02:51]2014DOTA2 TI小组赛总结中国军团全部进军钥匙球馆
2014/07/15 DOTA
[53:23]Secret vs Liquid 2018国际邀请赛淘汰赛BO3 第二场 8.25
2018/08/29 DOTA
Python中使用Boolean操作符做真值测试实例
2015/01/30 Python
Request的中断和ErrorHandler实例解析
2018/02/12 Python
python实现逆序输出一个数字的示例讲解
2018/06/25 Python
pygame编写音乐播放器的实现代码示例
2019/11/19 Python
python操作yaml说明
2020/04/08 Python
python使用scapy模块实现ping扫描的过程详解
2021/01/21 Python
Python tkinter之ComboBox(下拉框)的使用简介
2021/02/05 Python
优秀演讲稿范文
2013/12/29 职场文书
心理健康心得体会
2014/01/02 职场文书
大学生职业生涯规划范文
2014/01/08 职场文书
交通安全寄语大全
2014/04/08 职场文书
2015年求职自荐信范文
2015/03/04 职场文书
学雷锋主题班会教案
2015/08/13 职场文书
MySQL中datetime时间字段的四舍五入操作
2021/10/05 MySQL
科学家研发出新型速效酶,可在 24 小时内降解塑料制品
2022/04/29 数码科技