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

Javascript 从iFrame文档调用父文档中的函数是否有jQuery约定?,javascript,jquery,iframe,conventions,Javascript,Jquery,Iframe,Conventions,在jQuery中编写的函数从子文档(即在子文档中调用到父文档)是否有任何约定 以下是关于在jQueryUI.dialog中使用iFrame的内容。。。我需要iframe中的页面在特定时间改变对话框的大小 我已经有了这个工作,在子文档中有以下代码 window.parent.$("#myDiv").dialog("option", "height", 180).dialog("option", "width", 300); function resizeDialog() { $("#myDi

在jQuery中编写的函数从子文档(即在子文档中调用到父文档)是否有任何约定

以下是关于在jQueryUI.dialog中使用iFrame的内容。。。我需要iframe中的页面在特定时间改变对话框的大小

我已经有了这个工作,在子文档中有以下代码

window.parent.$("#myDiv").dialog("option", "height", 180).dialog("option", "width", 300);
function resizeDialog() {
  $("#myDiv").dialog("option", "height", 180).dialog("option", "width", 300);
}
但是,我认为如果父文档中的原始.dialog代码中包含了比这一行复杂得多的代码,那么会更清晰、更容易理解

这显然可以通过在父文档中包含以下内容来完成

window.parent.$("#myDiv").dialog("option", "height", 180).dialog("option", "width", 300);
function resizeDialog() {
  $("#myDiv").dialog("option", "height", 180).dialog("option", "width", 300);
}
。。。以及子文档中的以下内容

window.parent.resizeDialog();
但是,我想知道是否有任何约定将resizeDialog函数作为$myDiv的一部分包含在内,以便使用类似于

$window.parent.$("#myDiv").resize();
更新

我想我想问的问题是:

在使用jQuery时使用这样的函数是否被认为是不可接受的

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);
如果上面的代码给了您一些错误,您可以检查确切的语法

更新: 如果只想将方法应用于jQuery对话框,那么可以在$.widget ui.dialog,{}中编写函数;作用 语法:

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

谢谢拉杰什。这是否意味着.resizeDialog在jQuery中的所有对象上都可用?我将在我的问题中添加一个额外的部分,看看它是否能使所有对象都能使用。在这种情况下,这不是我想要的。。但是无论如何谢谢好吧,如果你想使用$myDiv.resizeDialog;,我很困惑那么这个方法必须是一个jQuery方法,在您的例子中作用于jQuery对象的$myDiv。如果你只想对特定的元素使用这个方法,你必须定义它的范围。很公平,那么我该如何定义它的范围呢?