擴(kuò)展jQuery插件的最佳方法我是一個相當(dāng)新的jQuery用戶,希望擴(kuò)展現(xiàn)有的jQuery插件,它可以滿足我所需要的75%。我試著做這個功課。我在stackoverflow上檢查了以下問題:擴(kuò)展jQuery插件擴(kuò)展jQuery插件jQuery:擴(kuò)展插件問題我已經(jīng)閱讀了 extend方法。然而,所有這些功課讓我感到困惑。我正在使用fullcalendar插件,需要修改一些行為以及添加新的事件掛鉤。我是否堅(jiān)持在插件封閉本身中這樣做?我錯過了一些明顯的東西嗎理想情況下,我們可以將代碼與插件代碼分開,以便進(jìn)行可能的升級。任何幫助將不勝感激,特別是關(guān)于我在哪里錯過了關(guān)于其他Stack Overflow問題中已經(jīng)提出的解決方案是否有意義的一些信息或意見的指示。對我來說,他們互相矛盾,我仍然感到困惑。
3 回答

POPMUISE
TA貢獻(xiàn)1765條經(jīng)驗(yàn) 獲得超5個贊
我在嘗試擴(kuò)展jquery UI插件時遇到了同樣的問題,這是我找到的解決方案(通過jquery.ui.widget.js找到它):
(function($){/ ** *命名空間:插件所在的命名空間 * pluginName:插件的名稱 * / var extensionMethods = { / * *檢索元素的id *這是現(xiàn)有插件中的一些上下文 * / showId:function(){ return this.element [0] .id; } }; $ .extend(true,$ [Namespace] [pluginName] .prototype,extensionMethods);})(jQuery的);
希望這有幫助,請?jiān)儐柲欠裼腥魏我蓡枴?/p>

holdtom
TA貢獻(xiàn)1805條經(jīng)驗(yàn) 獲得超10個贊
我發(fā)現(xiàn)有很多插件的方法是受保護(hù)/私有的(即在閉包范圍內(nèi))。如果你需要修改方法/功能的功能,那么除非你愿意分叉,否則你的運(yùn)氣不好。現(xiàn)在,如果您不需要更改任何這些方法/功能,那么您可以使用$.extend($.fn.pluginName, {/*your methods/properties*/};
我以前最后做的另一件事就是使用插件作為我的插件的屬性,而不是試圖擴(kuò)展它。
它真正歸結(jié)為你想要擴(kuò)展的插件是如何編碼的。
- 3 回答
- 0 關(guān)注
- 475 瀏覽
添加回答
舉報(bào)
0/150
提交
取消