[英]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.