javascript - 从 iframe 内部调用父级 jquery 函数?

标签 javascript jquery

假设我有这个页面“index.php”,其中有一个调用弹出框的链接:

<a href="#" id="signinlink">Sign in</a>

jquery 函数是:

<script type="text/javascript" charset="utf-8">
    jQuery(function() {
        function launch() {
             jQuery('#sign_up').lightbox_me({centered: true, onLoad: function() { jQuery('#sign_up').find('input:first').focus()}});
        }
        jQuery('#signinlink').click(function(e) {
            jQuery("#sign_up").lightbox_me({centered: true, onLoad: function() {
                jQuery("#sign_up").find("input:first").focus();
            }
        });
    });
</script>

如何从iframe中调用这个函数?

(* iframe 是从父页面“index.php”调用的) 我想我必须添加一个链接

window.parent.callme();

但是怎么办呢?请帮忙!

最佳答案

首先 - 如果 iframe 与登录表单有关 - 它应该发送自己的内容。代码应该在那里,而不是在父框架中调用。

无论如何,您的问题缺少一些关于您到底想要做什么的细节。

要访问父级的内容,您需要执行以下操作:

window.parent.functionname() 而不仅仅是 functionname()

所以

$(document).find(...) 将变为 window.parent.$(window.parent.document).find(...)

要从父级访问 iframe,您需要获取 iframe DOM 节点的 contentDocument。

这也很有帮助:How to expose IFrame's DOM using jQuery?

如果您能让您的问题更清楚,也许可以向您展示一个适用于您所拥有的代码的示例。

关于javascript - 从 iframe 内部调用父级 jquery 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14915214/

相关文章:

asp.net - 在 ASP.NET 母版页中使用 JQuery

jquery - 如何将 jqueryui selectmenu 插件添加到我的页面?

javascript - 删除字符串数组中的重音符号

javascript - Typeahead 并未显示 json 中的所有项目

javascript - 使用 bassistance 插件显示表单上方的所有错误

jquery - 禁用左括号的 keydown

jQuery 3d 滑动切换过渡

javascript - 第二个和第三个下降在 javascript 中不起作用

javascript - 是否可以在 THREE.js 中启用无限数量的渲染器?

javascript - 如何对使用另一个过滤器的过滤器进行单元测试