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中的border-radius(边框圆角)示例代码
Jul 19 HTML / CSS
带有css3动画效果的兼容多浏览器简单导航条示例
Jan 26 HTML / CSS
CSS3属性box-sizing使用指南
Dec 09 HTML / CSS
html5服务器推送_动力节点Java学院整理
Jul 12 HTML / CSS
HTML高亮关键字的实现代码
Oct 22 HTML / CSS
HTML5样式控制示例代码
Nov 27 HTML / CSS
html5实现多文件的上传示例代码
Feb 13 HTML / CSS
用HTML5制作数字时钟的教程
May 11 HTML / CSS
浅析移动设备HTML5页面布局
Dec 01 HTML / CSS
Adobe Html5 Extension开发初体验图文教程
Nov 14 HTML / CSS
html5视频常用API接口的实战示例
Mar 20 HTML / CSS
HTML5之高度塌陷问题的解决
Jun 01 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(1)
2006/10/09 PHP
php mysql数据库操作分页类
2008/06/04 PHP
$_GET['goods_id']+0 的使用详解
2013/06/06 PHP
PHP给前端返回一个JSON对象的实例讲解
2018/05/31 PHP
PHP Swoole异步读取、写入文件操作示例
2019/10/24 PHP
JS俄罗斯方块,包含完整的设计理念
2010/12/11 Javascript
基于JQuery模仿苹果桌面的Dock效果(初级版)
2012/10/15 Javascript
javascript 面向对象封装与继承
2014/11/27 Javascript
jQuery页面刷新(局部、全部)问题分析
2016/01/09 Javascript
利用AJAX实现WordPress中的文章列表及评论的分页功能
2016/05/17 Javascript
JS中闭包的经典用法小结(2则示例)
2016/12/28 Javascript
js 判断数据类型的几种方法
2017/01/13 Javascript
vuejs指令详解
2017/02/07 Javascript
关于vuex的学习实践笔记
2017/04/05 Javascript
利用纯JS实现像素逐渐显示的方法示例
2017/08/14 Javascript
JS实现简单的选择题测评系统代码思路详解(demo)
2017/09/03 Javascript
jquery实现限制textarea输入字数的方法
2017/09/06 jQuery
JS简单判断是否在微信浏览器打开的方法示例
2019/01/08 Javascript
JavaScript进制转换实现方法解析
2020/01/18 Javascript
Vue移动端用淘宝弹性布局lib-flexible插件做适配的方法
2020/05/26 Javascript
简介JavaScript错误处理机制
2020/08/04 Javascript
详解如何使用React Hooks请求数据并渲染
2020/10/18 Javascript
解决vue elementUI 使用el-select 时 change事件的触发问题
2020/11/17 Vue.js
[03:10]2014DOTA2 TI马来劲旅Titan首战告捷目标只是8强
2014/07/10 DOTA
python文件写入实例分析
2015/04/08 Python
python执行等待程序直到第二天零点的方法
2015/04/23 Python
python 批量解压压缩文件的实例代码
2019/06/27 Python
简单了解python中对象的取反运算符
2019/07/01 Python
Python函数的默认参数设计示例详解
2019/12/01 Python
如何搭建pytorch环境的方法步骤
2020/05/06 Python
keras 自定义loss model.add_loss的使用详解
2020/06/22 Python
德国50岁以上交友网站:Lebensfreunde
2020/03/18 全球购物
银行委托书范本
2014/09/28 职场文书
党支部三严三实对照检查材料思想汇报
2014/09/29 职场文书
百年校庆宣传标语口号
2015/12/26 职场文书
win11怎么用快捷键锁屏? windows11锁屏的几种方法
2021/11/21 数码科技