使用css属性屏蔽鼠标事件的方法(鼠标点击可穿透上层元素)

  发布时间:2020-04-03 15:02:24   作者:一期一会   我要评论
这篇文章主要介绍了使用css属性屏蔽鼠标事件(鼠标点击可穿透上层元素)的相关知识,本文通过截图实例代码相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧

起源:前几天测试发来一个需求,内容要求看图:

在这里插入图片描述

看到这个需求,我有点懵逼。现在的情况是只有点击日期内容框空白区域时,才会响应点击事件显示下拉日期菜单。

在这里插入图片描述

而这个icon图标我是绝对定位到日期内容框中的,它的图层维度是高于日期内容框的,点击icon图标时是不会响应点击事件的。我的第一个反应是事件点击穿透,但是该怎么实现?感觉触碰到我一直忽视的知识盲区了。

懵逼的我一顿操作猛如虎,开启面向谷歌编程大法…

事实证明科学上网很重要,谷歌精准 > 百度精准,再次吐槽百度的广告…

为了解决被icon图标遮盖住的内容框区域也能响应点击事件,可以使用poniter-eventscss属性来实现。

poniter-events属性的值很多,但大部分和svg有关直接跳过,通用的属性值有两个none | auto

auto:与 pointer-events 属性未指定时的表现效果相同。none:该元素永远不会成为鼠标事件的 target。但是,当其后代元素的 pointer-events 属性指定其他值时,鼠标事件可以指向后代元素,在这种情况下,鼠标事件将在捕获或冒泡阶触发父元素的事件侦听器。

再关注下poniter-events的兼容情况:

桌面浏览器

IE:11+(IE6~IE10均不支持)Firefox:3.6+Chrome:4.0+Safari:6.0Opera:15.0

移动设备浏览器

iOS Safari:6.0Android Browser:2.1+Android Chrome:18.0+

看到这里,基本上就能解决我这次所遇到的问题了:

在这里插入图片描述

解决完问题,又有个新的疑惑冒了出来,除了让鼠标点击穿透外层遮层外,poniter-events还有什么常见的应用场景么?

考虑到none值的作用,应该可以取消掉事件的点击行为。比如:使a标签链接不可点击、避免按钮多次点击、表单重复提交等。除此以外,肯定还有很多其他应用,可以通过属性值去发掘。

总结

到此这篇关于使用css属性屏蔽鼠标事件(鼠标点击可穿透上层元素)的文章就介绍到这了,更多相关css 属性屏蔽鼠标事件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!

相关文章

  • css属性pointer-events实现点击穿透的示例代码

    本文主要介绍了css属性pointer-events实现点击穿透的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编
    2023-07-19
  • 使用CSS的pointer-events属性实现鼠标穿透效果的神奇技巧

    当pointer-events的值设置为none之后,浏览器将不会获得鼠标在当前位置的层上的点击事件,而造成鼠标穿透的效果!下面就来为大家展开讲解一下使用CSS的pointer-events属性实现
    2016-06-28
  • CSS使用样式穿透的多种方法

    本文给大家分享CSS样式穿透的几种方法,结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2023-10-30

最新评论