4
我有一個插件由我自己設置一些事情時使用jquery-ui的對話框。而不是調用的:jQuery:更改插件後選項
$("#popup").dialog(options);
我用這個:
$("#popup").dialogPlugin(options);
而且dialogPlugin將調用.dialog(options)
(做一些東西后)。
在我的插件我可以修改一些功能對話框的像這樣的事件:
var originalCloseFn = options.close;
options.close = function() {
//my own stuff.
originalCloseFn();
};
插件的偉大工程,但使用它一段時間後,我意識到,我不能改變對話框功能從外部插件是這樣的:
$("#popup").dialog("option", "close", newFunctionOnClose);
如果我這樣做,插件添加到關閉功能的代碼將會丟失。
所以我在我的插件的beggining添加以下代碼:
if (options == "option") {
if (val == undefined)
return _this.dialog("option", name);
else
return _this.dialog("option", name, val);
}
現在我需要更改此代碼的第五行真正改變不的jQuery的UI我的插件的選項。 (選項.dialogPlugin
功能,而不是.dialog
)。我真的不知道我該怎麼做。請有任何想法嗎?
編輯
我知道,這個問題不是很清楚,我的英語不好並不讓我來解釋自己更多,所以我做了一個痘痘example。
我想要的是在第七行(return $(this).dialog("option", name, val);
)而不是修改(相當於optionsForJQuery.close
)修改options.close
。這樣我就可以避免影響插件的行爲。
哇。例如下降。 – 2012-10-28 03:38:38
是的,我不刪除「jsfiddle」我不知道發生了什麼 – 2012-10-28 16:44:50