我希望能够捕获在加载页面后某个时刻添加到文档中的任何iframe的
load
事件。我尝试使用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
的委托无效。
如何通过委托来检测页面中的任何iframe加载?