日期:2012-5-9 來源:GBin1.comhtml
隨 着愈來愈多的開發人員開始開發jQuery插件,因此咱們隨時都有可能遇到很爛的插件開發「成果」。沒有在線演示,沒有文檔,或者插件沒有遵循最佳編碼實 踐。可是對於閱讀這篇文章的朋友來講,你很幸運,由於這裏咱們將介紹14個jQuery插件開發中最容易犯的錯誤。但願你們會以爲有幫助!jquery
隨着jQuery的普遍使用,天天都出現不少新的插件 ,可是問題在於不少插件真不怎麼樣。設計模式
之前咱們介紹過10個幫助你建立超棒jQuery插件的小技巧,在今天這篇文章中,咱們將專一於jQuery插件的最佳開發實踐,但願對於你們有幫助,若是你喜歡咱們的文章,請給咱們留言,謝謝! this
總的來講,這裏有不少你們接受的jQuery開發的模式。 若是你沒有聽從這些設計模式,你開發的插件有可能很「垃圾「。看看以下最經常使用的模式:編碼
(function($, window, undefined){ $.fn.myPlugin = function(opts) { var defaults = { // 設置你的選項缺省值 } // 使用用戶的選項缺省值來擴展缺省選項 var options = $.extend(defaults, opts || {}); return this.each(function(){ // jQuery鏈式操做 // 插件的相關內容 }); })(jQuery, window);
首 先呢,咱們建立了一個自調用的匿名方法來將咱們插件中的參數和外部全局參數隔離開。咱們傳遞$,window,和undefined三個變量參數。這些變 量和自調用的方法將和jQuery和window一塊兒調用。對於undefined來講沒有傳遞任何值,所以若是咱們決定在插件中使用undefined 關鍵字的話,其實」undefined「並無被定義。spa
使用這種方法能夠有效的保證外部腳本被隔離而沒法給undefined變量賦值,例如,將沒法賦值undefined爲true。prototype
$被做爲jQuery來傳遞;咱們使用這種方法來保證在匿名方法的外部,$仍舊能夠參考爲其它內容,例如,prototype。插件
傳遞變量給全局性訪問的window對象能容許更多通過壓縮最小化(minification)處理的代碼(固然,壓縮是應該作的)設計
下 一步,咱們將使用jQuery插件的模式, $.fn.PluginName。這用來登記你的插件使得其能被應用到 $(selector).method()格式中。簡單使用new來擴展jQuery的prototype。若是你想建立一個jQuery的方法的話,只 須要直接添加以下代碼:code
....
....