
在我的iframe里面,我正在加载2个.Js文件:来自Chrome扩展的jquery和“modal.Js”.
执行检查我可以看到文件已加载(modal.Js),但是我使用的是以下代码,但未触发:
$('#frameID').ready(function(){ $('#sbm-new-group').click(function(){ console.log("hello"); }); }); 这不起作用,即使我尝试使用$(document).ready,也没有任何事情发生.我想知道是否还有使用iframe中的JavaScript触发方法.
任何帮助都非常感谢.
解决方法 您应该访问iframe的文档以绑定.ready()处理程序.这是一个 demo fiddle.
注意:如果您在同一个域中,则可以执行此 *** 作.
var iframe = document.getElementByID('frameID'),iframeWin = iframe.contentwindow || iframe,iframeDoc = iframe.contentdocument || iframeWin.document;$(iframeDoc).ready(function (event) { alert('iframe ready'); // Now you can access any element in the iframe (if same domain) $(iframeDoc).find('#sbm-new-group').on('click',function (event) { alert('clicked'); });}); [编辑]额外备注:
>要从iframe文档中调用所有者全局范围中的函数:
parent.someMethod();
>要从所有者文档调用iframe全局范围中的函数:
iframeWin.someMethod();
>要从所有者文档中执行iframe中的脚本:
// this is called from the iframewindow.hello = function () { alert('hello from owner!');};// we'll write some scripts within the iframe that will be executed immediatelyiframeDoc.open();iframeDoc.write('\<script>alert("hello from iframe!");\<\/script>');iframeDoc.write('\<script>parent.hello();\<\/script>');iframeDoc.close(); 这是another fiddle展示这一个.
总结以上是内存溢出为你收集整理的在动态创建的iframe中触发Javascript全部内容,希望文章能够帮你解决在动态创建的iframe中触发Javascript所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)