gpt4 book ai didi

javascript - 是否有从 iFrame 文档调用父文档中的函数的 jQuery 约定?

转载 作者:行者123 更新时间:2023-11-28 08:34:19 24 4
gpt4 key购买 nike

对于用 jQuery 编写的从子文档(即 <iframe> 内)到父文档调用的函数,是否有任何约定?

my question yesterday之后,关于 iFrame 的使用在 jQuery UI 中 .dialog ...我需要 iframe 内的页面在特定时间更改对话框的大小。

我已经可以正常工作了,在子文档中包含以下代码...

window.parent.$("#myDiv").dialog("option", "height", 180).dialog("option", "width", 300);

但是,我认为如果代码(比那一行复杂得多)包含在原始 .dialog 中,会更清晰、更容易理解。父文档中的代码。

这显然可以通过在父文档中添加以下内容来完成...

function resizeDialog() {
$("#myDiv").dialog("option", "height", 180).dialog("option", "width", 300);
}

...以及子文档中的以下内容

window.parent.resizeDialog();

但是,我想知道是否有任何约定将 resizeDialog 函数包含在 $("#myDiv") 中这样它就可以用诸如...之类的东西来调用

$window.parent.$("#myDiv").resize();
<小时/>

更新

我想我想问的问题是这样的:

使用 jQuery 时有这样的功能是否被认为是 Not Acceptable ...

function resizeDialog() {
$("#myDiv").dialog("option", "height", 180).dialog("option", "width", 300);
}

如果是这样,那么可以从当前文档外部调用的 jQuery 函数的格式是什么?

最佳答案

您需要为此创建一个自定义 jQuery 插件

    (function ($) {
// plugin definition
$.fn.resizeDialog = function () {

this.dialog("option", "height", 180).dialog("option", "width", 300);
}
})(jQuery);

如果上面的代码给你一些错误,你可以检查确切的语法 here

更新:如果您只想将您的方法应用于 jQuery 对话框,那么您可以在 $.widget( "ui.dialog", { }); 函数中编写一个函数。例如。语法:

_resizeDialog : function() {// your code here}

关于javascript - 是否有从 iFrame 文档调用父文档中的函数的 jQuery 约定?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21431501/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com