gpt4 book ai didi

javascript - 如果点击目标是 iframe,则检测点击外部 div 不起作用

转载 作者:行者123 更新时间:2023-11-29 19:16:26 26 4
gpt4 key购买 nike

我有自己编写的对话框,单击外部时它会关闭(无覆盖/背景)。

除非有一个 iframe,它工作得很好,在这种情况下,我的外部点击监听器永远不会被调用。

这里是 a JSBIN来说明问题。 ( http://jsbin.com/vuneyopedu/edit?js,console,output )

在下面的截图中简要说明:

  • 点击红色对话框增量。
  • 单击外部对话框(黄色和绿色)应该递减,但只有黄色有效。
  • 在点击 iframe 时永远不会调用外部点击的事件监听器(绿色)

Example

问题是 - 如何让点击红色方 block 外的任何内容(特别是点击 iframe)减少数字。 (或在“真实”世界中关闭对话框)

最佳答案

如何将事件绑定(bind)到 iframe 的文档。

iframes = document.getElementsByTagName('iframe');
iframesArray = Array.prototype.slice.apply(iframes);

iframesArray.forEach(function(frame) {
frame.contentWindow.document.addEventListener('click', function() {
inc();
}, true);
});

关于javascript - 如果点击目标是 iframe,则检测点击外部 div 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34999344/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com