簡體   English   中英

從iFrame文檔調用父文檔中的函數的jQuery約定嗎?

[英]Any jQuery convention for calling function in parent document from iFrame document?

對於用jQuery編寫的要從子文檔(即在<iframe>內部)調用到父文檔的函數,是否有約定?

關於我昨天我的問題之后,關於在jQuery UI .dialog使用iFrame問題……我需要iframe的頁面才能在特定時間更改對話框的大小。

我已經使用子文檔中的以下代碼進行此工作...

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

但是,我認為如果父文檔中的原始.dialog代碼中包含該代碼(比那行要復雜得多),將會更加.dialog

顯然,只需在父文檔中包含以下內容即可完成...

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", { });編寫一個函數$.widget( "ui.dialog", { }); 功能。 例如。 句法:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM