我最喜歡的jQuery外掛模板
我使用jQuery已經有相當長的時間了,並且我會常常為它寫一些外掛(plugin)。我嘗試過用不同的方式去寫,現在這個模板是我最喜歡的:
;(function($) { // multiple plugins can go here (function(pluginName) { var defaults = { color: 'black', testFor: function(div) { return true; } }; $.fn[pluginName] = function(options) { options = $.extend(true, {}, defaults, options); return this.each(function() { var elem = this, $elem = $(elem); // heres the guts of the plugin if (options.testFor(elem)) { $elem.css({ borderWidth: 1, borderStyle: 'solid', borderColor: options.color }); } }); }; $.fn[pluginName].defaults = defaults; })('borderize'); })(jQuery); //下面是用法 $('div').borderize(); $('div').borderize({color: 'red'});
以下是我喜歡這種模板的原因
1. 你仍然可以訪問裡面的預設選項,即便它被重寫了(簡單地通過父屬性的訪問)
2. 通過修改pluginName即可更改外掛的名字。(這種方式對程式碼壓縮也非常有利)
第#1點非常強大,比如說我們希望複寫這個方法,但是仍然希望保留原來的方法,我們可以看下面的例子:
$('.borderize').borderize({ testFor: function(elem) { var $elem = $(elem); if (elem.is('.inactive')) { return false; } else { // calling "parent" function return $.fn.borderize.defaults.testFor.apply(this, arguments); } } }); We can even do this with regular properties like this var someVarThatMayBeSet = false; /* code ... */ $('.borderize').borderize({ color: someVarThatMayBeSet ? 'red' : $.fn.borderize.defaults.color });
你有更好的模板嗎?歡迎回復。
相關文章
- 我最喜歡的產品管理模板 - Lenny
- JQuery模板外掛-jquery.tmpljQuery
- 我最喜歡的一句話
- 我最喜歡的一首詩
- 我最喜歡的幾個蘇州美食
- 【譯】Visual Studio 17.8 中我最喜歡的特性
- 最喜歡的勵志句子
- jQuery的外掛列表jQuery
- Python 潮流週刊#50:我最喜歡的 Python 3.13 新特性!Python
- 來,我們把玩一下謝耳朵最喜歡的珠子
- 我喜歡於一一!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- 川光我喜歡
- 推薦一款常用的IDE外掛,越用越喜歡IDE
- 如何戒掉自己最喜歡的遊戲遊戲
- 2018-05-08 我在知乎最喜歡做的事情:拉黑
- 我最喜歡的程式之間通訊方式-訊息匯流排
- JQuery蜂巢圖外掛jQuery
- 我記得我曾喜歡過冬天
- 你最喜歡的潤唇膏是什麼?
- Ansel系統,TP3.2.3,外掛管理,模板切換,歡迎使用
- jquery寫的ajax分頁外掛jQuery
- jQuery外掛擴充套件jQuery套件
- jQuery擴充套件外掛jQuery套件
- 如何找到你喜歡的Premiere的動態圖形模板REM
- MIDiA:53%的玩家最喜歡單人遊戲遊戲
- 為什麼我喜歡JavaScript的Optional ChainingJavaScriptAI
- 我最喜歡的白版應用,AI加持的新功能開源!強烈推薦AI
- 我喜歡二次元二次元
- 你喜歡大海我愛過你什麼梗 你喜歡大海我愛過你出處
- 建議把datetimePicker改成jquery的外掛jQuery
- 歡迎使用園子的 vscode 外掛VSCode
- 下拉控制元件jQuery外掛控制元件jQuery
- jQuery外掛--表格隔行變色jQuery
- jquery複習之路---常用外掛jQuery
- 手寫jquery.cookie外掛jQueryCookie
- 最喜歡咖啡的國家(附原資料表)
- 你最喜歡哪個 Linux 發行版?Linux
- 雷軍:我喜歡並推崇任天堂
- 驚喜小現:園子的 VSCode 外掛VSCode