透明遮罩防点击劫持为啥没生效?

___倩利 阅读 6

我在页面里加了个透明遮罩防止点击劫持,但好像没啥用,别人还是能嵌到 iframe 里点按钮。是不是我写法有问题?

试过在 body 上盖一层全屏 div,z-index 设得很高,但实际测试时发现点击事件还是透过去了:

const shield = document.createElement('div');
shield.style.cssText = <code>
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: transparent;
  z-index: 999999;
</code>;
document.body.appendChild(shield);

这代码看起来没问题啊,为啥防不住?是不是透明元素默认不拦截点击?

我来解答 赞 2 收藏
二维码
手机扫码查看
1 条解答
西门舒婕
透明元素默认不拦截点击,你需要设置 pointer-events: none; 改成 auto 或者 unset。检查一下。
点赞
2026-03-21 20:05