javascript - jQuery onload - .load() - 事件不适用于动态加载的 iframe

标签 javascript jquery html

当用户单击按钮时,我的脚本会加载一个 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/

相关文章:

jquery - PhantomJs 脚本中的 Ajax 请求

php - 重新排列html中的div

javascript - ajax方法帖子错误

javascript - 无法在具有相同类名的多个元素中定位单个输入(jQuery)

javascript - 如何将 jQuery .data() 转换为 Vanilla JS?

javascript - 如何在liferay中捆绑可以在所有主题中使用的dojo库

javascript - 在 Firefox 3.6 中使用 JavaScript 解压缩 zip 存档

javascript - 使用JQuery修改外部JS文件

javascript - 将文本添加到矩形

jquery - 单选按钮未被验证