javascript - 使用 jQuery 委托(delegate)从 iframe 捕获加载事件

标签 javascript jquery html iframe event-delegation

我想捕获 load 甚至 any iframe,它在加载页面后的某个时刻附加到文档上。

我尝试使用 on("load", "iframe", fn),但似乎没有效果:

function addIframe() {
  $("<iframe src='https://example.com'>").appendTo($("body"))
}

// This does not work
$(document).on("load", "iframe", function() {
  alert("loaded, caught via delegation")
})

setTimeout(function() {
  addIframe()
  // This works
  $("iframe").on("load", function() {
    alert("Loaded, caught via direct selection")
  })
}, 1000)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

虽然 $("iframe").on("load", fn) 在附加 iframe 后立即起作用,但对 document 的委托(delegate)不起作用。

我们如何使用委托(delegate)检测页面中的任何 iframe 加载?

最佳答案

How can we detect any iframe load from the page using delegation?

不幸的是,无法通过 jQuery 委托(delegate)捕获 iframe 加载事件。

关于javascript - 使用 jQuery 委托(delegate)从 iframe 捕获加载事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51645711/

相关文章:

javascript - 如何使用$.ajax从API接收JSON

jquery - 仅对文本区域内段落中的一组单词应用 CSS 背景色

javascript - jQuery 上下文未按预期工作

javascript - 如何更新到 addEventListener?

javascript - D3 js 在快速鼠标单击时出现意外行为

javascript - 如何使用 d3.js 在选择标签中的选项更改时创建段落?

html - 减少html中垂直线和第二个字段之间的前导空间

html - 什么是 xml 建议的 url

javascript - Dojo 中 jQuery .css() 的替代方案

表单提交时的 JavaScript 重定向