好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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

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

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

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

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

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

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

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

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

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

桌面浏览器

IE :11+(IE6~IE10均不支持) Firefox :3.6+ Ch rom e :4.0+ Safari :6.0 opera :15.0

移动设备浏览器

iOS Safari :6.0 And ROI d br owser :2.1+ Android C hr ome :18.0+

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

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

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

总结

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

总结

以上是 为你收集整理的 使用css属性屏蔽鼠标事件的方法(鼠标点击可穿透上层元素) 全部内容,希望文章能够帮你解决 使用css属性屏蔽鼠标事件的方法(鼠标点击可穿透上层元素) 所遇到的问题。

如果觉得 网站内容还不错, 推荐好友。

查看更多关于使用css属性屏蔽鼠标事件的方法(鼠标点击可穿透上层元素)的详细内容...

  阅读:22次