当用户单击按钮时,我的脚本会加载一个 iframe。我想在 iframe 加载后调用另一个函数,但它不起作用。 iframe 确实加载正常,但 .load() 事件在 iframe 完成加载后永远不会被调用。 iframe 包含来自同一网站的内容(无外部内容)。奇怪的是,我在我的代码的其他几个点上使用了下面描述的相同技术,并且效果很好。谁能建议我接下来应该检查什么?
相关代码如下:
$('#myIframe').load(function () {
alert('iframe loaded');
});
$('#someButton').live('click', function () {
$('body').append($('<iframe id="myIframe" src="https://www.mywebsite.com" width="100%"></iframe>'));
});
最佳答案
似乎与这里的问题有些相似:
jQuery .ready in a dynamically inserted iframe
这样 Iframe 元素就存在于 Dom 中了。只有当您设置 Url 时,它才会加载,此时您已经附加了您希望在末尾标记的加载功能。 所以对于你的代码
$('#someButton').live('click', function () {
$('body').append($('<iframe id="myIframe" width="100%"></iframe>'));
$('#myIframe').attr('src',"https://www.mywebsite.com");
$('#myIframe').load(function () {
alert('iframe loaded');
});
});
关于javascript - jQuery onload - .load() - 事件不适用于动态加载的 iframe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8233278/