【发布时间】:2014-01-12 13:27:56
【问题描述】:
我有一个页面,其中包含一堆不同的 iframe(A、B、C、D)——所有这些 iframe 在任何时候都是完全可见的。它们共同构成了我的应用程序 UI 的各个部分。其中一个 iframe,iframe D - 包含另一个较小的 iframe (iframe X),有时通过用户操作使其可见。每当用户在其外部单击时,它应该会自动消失。我可以通过在主体上单击 onclick 轻松地从 iframe D 中处理此问题。如果我真的在 iframe D 的正文中检测到点击——这意味着他们没有在 iframe X 中点击,所以我可以通过 CSS 隐藏 iframe X。没问题。
问题在于其他 iframe - A、B 和 C。如果用户在其中点击,我也想隐藏 iframe X。目前,我可以正常工作-但效果不佳。对于这些 iframe(A、B、C)中的每一个,我都有将主体点击传达给 iframe D 的代码。我不喜欢这种方法,因为 iframe A、B、C 都知道 iframe X - 真的应该有不需要这个,它只是添加到我必须更改以支持 iframe X 提供的功能的文件中。我有什么方法可以处理所有从 iframe D 中检测到的外部 onclick 事件?这将将 iframe X 的显示/隐藏逻辑留在 iframe D 中,这使得代码更容易移动。
如果我开始进行 onclick 监控 - 我也想知道它是否会处理 所有 点击 - 例如,如果 iframe A 在特定元素上设置了一些 onclick 事件 - 我肯定也会抓住那些点击?我提到这一点是因为我当前的解决方法似乎存在缺陷(iframe A、B、C 将它们的正文 onclicks 报告给 iframe D)——某些点击不会触发正文 onclick。
提前谢谢各位。但是请记住,在项目的这个阶段移除 iframe 是不现实的。
【问题讨论】:
标签: javascript html css iframe events