優秀的jQuery插件廣受全球數万名Web開發者的青睞,而那些設計不佳的插件則很快被遺忘。本文提供一些技巧,助您開發出更出色的jQuery插件,提升其影響力。
關鍵要點:
除非您的插件返回一個值,否則插件函數的最後一行必須是:
return this;
這確保了方法調用可以鍊式進行,例如:
$("div#myid").yourPlugin().anotherPlugin().yetAnotherPlugin();
在大多數情況下,您的插件應該無需開發者查閱文檔、設置選項或編輯插件代碼即可正常工作。如果它是一個可視化小部件,開發者不應該需要編輯任何JavaScript代碼。您可以簡單地提供帶有class/ID的HTML,它將自動啟動您的代碼,例如:
<p>My content</p>
您的插件可以自行初始化,例如:
$(function() { $("section.myjqWidget").myjqWidget(); });
jQuery插件數量眾多。 “tab”這樣的名稱很可能已被使用。雖然這並非總是問題,但應避免使用含糊不清或可能發生衝突的名稱。版本編號也很重要,尤其是在開發者報告問題時。
不要依賴於$
引用jQuery。如果開發者安裝了其他庫,它可能在加載jQuery之前就已獲取了$
。解決這個問題最簡單的方法是將jQuery作為匿名自啟動函數的$
參數傳遞,例如:
(function($) { // 此处的代码可以使用$来引用jQuery })(jQuery);
大多數插件使用JavaScript對象字面量表示法設置參數,例如:
$("#select").MyPlugin({opt1: 1, opt2: 2, opt3: "three"});
這有幾個優點:參數易於閱讀,可以按任何順序排列,也可以完全省略。但是,您應該在插件代碼中設置默認值並相應地覆蓋它們,例如:
$.fn.PlugIn = function(opts) { // 默认配置 var config = $.extend({}, { opt1: 1, opt2: 2, opt3: 3, opt4: 4, opt5: 5 }, opts); // ... };
您的插件可以使用config.opt1
之類的代碼引用參數。
理想情況下,HTML小部件應該能夠設置參數,而無需開發者更改JavaScript代碼。您可以考慮使用HTML5數據屬性,例如:
return this;
這些可以通過jQuery的data()
方法訪問:.data("opt1")
。
在插件頂部添加簡潔的註釋,描述:
如果插件特別複雜,可以考慮單獨的README文件。
測試它。然後再次測試它。在所有瀏覽器中測試。可能存在您無法修復的問題,例如IE6兼容性問題。這沒關係,但在您的文檔中提及即可。
以下是我創建新插件時使用的模板代碼:
$("div#myid").yourPlugin().anotherPlugin().yetAnotherPlugin();
它提供了一個良好的起點:
DoSomething
函數。 return this;
。 如果您希望開發者使用您的插件,請將其上傳到GitHub、Google Code和jQuery插件目錄等代碼庫。創建演示頁面,在文章中宣傳它,並在Twitter上不斷發布信息。然後準備好支持插件並在必要時更新它。您會收到一些愚蠢的問題和奇怪的功能請求,但這都是成為成功的插件作者的一部分。
(後續內容,即FAQ部分,由於篇幅過長,建議另行處理。可以將FAQ部分單獨整理成一個新的回答。)
以上是開發更好jQuery插件的10個提示的詳細內容。更多資訊請關注PHP中文網其他相關文章!