从iFrame文档调用父文档中的函数的任何jQuery约定?

时间:2014-01-29 12:43:09

标签: javascript jquery iframe conventions

是否有任何使用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();

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

$("#myDiv")

但是,我想知道是否有任何约定将resizeDialog函数作为$window.parent.$("#myDiv").resize(); 的一部分包含在内,以便用...之类的东西调用它。

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

更新

我想我想问的问题是:

使用jQuery时,使用这样的函数是不可接受的......

{{1}}

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

1 个答案:

答案 0 :(得分:0)

您需要为该

创建自定义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}