当前位置: 首页 > 面试题库 >

捕获iframe周围的div点击

易超
2023-03-14
问题内容

如何捕获iframe周围的div上的click或mousedown事件。我尝试将函数附加到div上的click事件,但是由于iframe从未将事件泡到周围的div上,因此永远不会调用该函数。有没有一种方法可以捕获div上的事件,然后将其传播到iframe进行默认操作?


问题答案:

如果点击在iframe区域中,则iframe上下文会处理click事件,它不会冒泡到iframe父级。因此,如果div事件发生在iframe区域中,则div根本不会注册它。

此外,如果iframe包含与iframe父级不属于同一域的页面,则将禁止任何交互(相同的原始策略)。

当满足相同的原始政策时,您可以做一些事情,您可以在iframe父上下文中调用一个方法:

top.parentFunction();

因此,在iframe中,您添加了一个事件侦听器,该事件侦听器委托给iframe父对象(可通过top引用进行访问)。

传播事件要复杂得多,因此我只想参考DiegoPerini的NWEvents库。我相信他的活动系统将是目前最好的活动系统之一,并且他特别关注iframe互动。

我当然不会开始编写自己的代码来实现这一目标,如果您想正确地完成它,这可能很容易进行为期一年的项目,即使这样也将不如Diego的工作。



 类似资料:
  • 问题内容: 当从父页面完全加载iframe的内容时,是否可以捕获? 问题答案: 元素有一个 事件。 您如何聆听该事件取决于您,但是通常最好的方法是: 1)以编程方式创建iframe 通过确保在iframe开始加载 之前附加监听器,可以确保始终调用您的监听器。 __ 2)内联javascript ,是您可以在HTML标记内使用的另一种方法。 3)您也可以将事件侦听器附加在标记内 的元素之后,但请记住

  • 我试图在两个div周围插入一个包装器,其中一个具有动态生成的ID。动态生成具有随机ID的div。不管我做什么尝试,包装器都是在目标div之后插入的。 包装前 后包装器

  • 我想检查一下我可以使用哪些方法来删除匿名蓝色轮廓

  • 问题内容: 假设我有个约会2013年6月20日 如何获取上周的日期范围,即本例中的6月9日至6月15日。 另外,如果日期是2013年6月2日 范围应该是5月26日至6月1日 问题答案: 这是基于Java日历的解决方案 输出 它已本地化,在我的“语言环境”周中,从星期一开始

  • 我正在尝试为类(Java)制作一种棋盘。我们的老师想让我们把棋盘上的每个方块都做成一个按钮,他给了我们一个按钮应该是什么样子的想法。空方块显然需要是纯黑色或纯白色。当方块上有一块时,问题就出现了。我们的老师想让我们用文本来记录哪些方块上有哪些块,他想让文本是黑色还是白色取决于它是谁的块。由于我们不能在白色背景上放置白色文本,他建议当一个方块上有一块时,我们将方块的颜色改为灰色。我不是粉丝。有没有可

  • 下面是我正在尝试的代码 png是我保存在项目中的一个图像文件。首先,我搜索它,然后点击它。 任何人都可以帮助我如何实现这一点。任何帮助都将得到高度赞赏。