用fixed做了个遮罩水印,但在遮罩下面的元素点击都无法触发点击事件

遮罩是覆盖整个视口透明元素,然后在遮罩下面有些其他元素,但是点击了触发不了点击事件。
因为遮罩上有水印,所以我希望遮罩是在最上层显示的

阅读 10.9k
8 个回答

遮罩添加一条css属性 pointer-events: none, 遮罩下的就可以点击了,IE11+支持

增加你要点击页面的z-index值

添加pointer-events: none,你的遮罩盖住了下边的元素,所以你点击的事件其实是作用在了遮罩上面。而pointer-events: none可以穿透遮罩,点击到下面的元素。我刚做的项目用过这个属性,亲测有效。支持ie11及其他浏览器

你的遮罩都盖住了所有元素,肯定是无法触发底下的元素事件啊

有没有这样写
clipboard.png

我这样是整个页面都进行遮罩了

把遮罩以外的div添加style="z-index:99"

把元素遮罩设置为子元素呢,把你想点击的作为父元素,
这样使用DOM的冒泡时间,当点击遮罩的时候,就能捕获到事件了.
但是有个问题,因为当前页面你可能有一个遮罩但是有多个点击事件,恩,酌情处理下吧

你可以点击遮罩的时候,触发下边元素的点击事件:

$(".a").on("cllick",function(){
    $(".b").click();
)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题