我正在爲一個客戶端網站開發幾個jQuery插件,它將允許表單元素(如收音機,複選框和選擇)的樣式。我一直在將它們作爲同一個文件中的三個獨立插件進行開發,雖然收音機和複選框插件似乎並行運行良好,但我的選擇給了我麻煩,因爲它似乎阻止了收音機和複選框的工作!如果我刪除它,另外兩個工作再次罰款。兩個jQuery插件之間的衝突?
我認爲我之間有某種衝突,但我不確定它可能在哪裏。如果我註釋掉所有選擇插件的代碼,除了它的「設置」聲明,收音機和複選框都會中斷。如果我刪除設置,收音機和複選框會再次開始工作,所以看起來衝突在設置中。
我已經宣佈了插件選項在所有三個(只是用自己的缺省值)是相同的:
jQuery.fn.ioFormSelect = function(options) {
//Default options.
settings = jQuery.extend({
'maxOptions': 8,
'fieldClass': 'ui-field-select',
'selectedClass': 'ui-field-selected',
'openClass': 'ui-field-select-open',
'closeClass': 'ui-field-select-close',
'disabledClass': 'ui-field-disabled',
'optionClass': 'ui-field-option',
'optionGroupClass' : 'ui-field-option-group'
}, options);
//Plugin code
});
我在做什麼錯?我認爲以這種方式聲明的變量是「本地」的,而「全局變量」是事先由「var」定義的。我必須爲每個插件都有一個單獨的設置變量嗎? :S 非常感謝您的任何建議。 :)
謝謝!從PHP環境到Javascript,所以雖然我可以很快得到一個工作腳本,但我不熟悉這些細節中的很多。 :) – Fourjays 2010-07-01 08:59:08