我有一个继承的iframe,pointer-events: none;但是当我<div>在iframe中插入一个pointer-events: auto;div时,div不会对点击或任何鼠标悬停事件做出反应.
原因是它在iframe里面,<div style="position:fixed;">
所以它有点像一个小菜单.但我希望用户点击iframe,而不是通过iframe中的链接和div.
是的,它绝对需要保持iframe.
我怎么能绕过这个?我可以绕过这个吗?
这是一个简单的例子:jsfiddle.net/MarcGuiselin/yLo119sw/2
我们想要的不是规范所允许的,至少对于绝对定位的 iframe来说是不允许的。
我们都想做同样的事情:
这让我们可以“点击”绝对定位的框,但仍然与其子项交互,这些子项可能是按钮,也可能只是带有悬停事件或其他内容的框。
iframe对其所有子项禁用它们。另一种方法是将内容直接渲染到文档中,即渲染到 Shadow DOM 中以进行样式沙箱。这是实现我们正在寻找的这种行为的唯一方法,也是我之前在尝试重构 iframe 并发现无法以这种方式复制之前解决该问题的方法。
请参阅https://iframe-pointer-events.vercel.app进行演示。