【发布时间】:2015-02-19 09:55:38
【问题描述】:
我想设置一个window.onload 事件。我想将iframes 动态添加到页面。每次加载 iframe 时,我都希望 window.onload 触发。我该怎么做?
编辑:假设我添加了第 5 个iframe。只有当iframes 1、2、3、4 和 5 都已加载时,我才想运行一个函数。我不能只为每个iframe 添加处理程序,因为如果iframe 5 在iframe 2 之前完成加载怎么办?
以下操作无效:
http://codepen.io/anon/pen/emzbZj?editors=101
HTML
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
</head>
<body>
<button>add</button>
<iframe src="http://www.w3schools.com"></iframe>
</body>
</html>
JavaScript
$(document).ready(function() {
$('button').on('click', function() {
$('<iframe src="http://www.w3schools.com"></iframe>').insertAfter('button');
});
$(window).on('load', function() {
console.log('loaded'); // doesn't fire when dynamically added iframes load
});
});
【问题讨论】:
-
iframe有它自己的window,你想要那个加载事件。$('iframe').on('load...'
标签: javascript jquery dom iframe