2010-11-18 20 views
0

我正在使用jQuery插件工廠輪盤小部件(看到它http://stuff.manisto.dk/roulette/)。爲了使人們更容易使用,我指定了一些默認選項,例如元素。的jQuery插件選項陣列

問題是,當我指定的元件陣列比所述默認選項的情況下(見http://stuff.manisto.dk/roulette/?elements=stack;overflow),仍然顯示剩餘的元素。

如何解決這一問題?爲什麼jQuery複製所有的數組值,而不是提供新的數組,如果指定了?

順便說一句,你可以在http://bitbucket.org/manisto/jroulette/src查看代碼。

+0

請在回答之前查看實際代碼! :) – ManiSto 2010-11-18 11:50:00

回答

0

這是因爲使用jQuery的extend方法,你只是「覆蓋」是目前它擴展了原來的(選項)數組中的元素。如果你想擺脫其他元素,只需不擴展原始或無效,因爲你在擴展數組中提供了一個值爲null或undefined的值。

我沒有看過你的代碼,但我知道,在一般的jQuery默認的選項是由用戶設置什麼在每個呼叫的基礎上延長。

+0

我沒有擴展(至少不是直接)選項,這是jQuery通過Widget工廠爲我做的。但是有什麼辦法來區分提供的選項和默認選項嗎? – ManiSto 2010-11-18 09:25:18