我正在使用第三方jQuery插件的選項可以被覆蓋。我有三個文件:插件源文件,設置我發送給插件的選項的Javascript文件,以及調用腳本的HTML文件。發送選項到一個jQuery插件
其中一個選項來自AJAX調用,爲了確保該選項可以正確加載,我在調用返回後使用$ .getScript加載腳本。其餘的選項是靜態的,所以它們可以保留在我的腳本文件中。
這是我如何調用從我的HTML文件中的插件腳本加載後:
$.("#plugin_selector").pluginName({newOption: ajaxValue});
下面是我能順利通過發送一組選項調用從我的JavaScript文件的插件(假設我AJAX調用之前)加載腳本:
var options = [{
option1: value,
option2: value2,
option3: value3
});
$.("#plugin_selector").pluginName(options);
的問題是,當我的AJAX調用後加載腳本和發送新的選項,所有的我設置的其他選項,通過我的變量被覆蓋。理想情況下,我希望將這兩個陣列結合起來。
調用插件時,如何將從我的HTML文件發送的動態選項和腳本文件中的選項數組結合起來?我的Javascript文件中的選項數組調用該文件中的一些其他函數,所以我認爲將它保留在該Javascript文件內會更好。
我試圖遵循這種模式:http://jquery-howto.blogspot.com/2009/01/how-to-set-default-settings-in-your.html,但它不起作用,我認爲是因爲當插件被調用以覆蓋默認值時,第三方插件已經執行了$ .extend過程。
我似乎無法正確理解問題。您是否實例化整個對象,還是隻設置預先實例化對象的選項? (「#plugin_selector」)pluginName({newOption:ajaxValue});你可以給出更多的代碼。調用和ajax函數? –