当用户单击按钮时,我的脚本加载一个iframe.在iframe加载之后,我想调用另一个函数,但是它不起作用. iframe正常加载,但iframe完成加载后,不会调用.load()事件. 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
这样一来,使用附加功能就可以在Dom中存在Iframe元素.只有当您设置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'); }); });