編寫乙個jquery外掛程式的原則:
給$.fn繫結函式,實現外掛程式的**邏輯;
外掛程式函式最後要return this;以支援鏈式呼叫;
外掛程式函式要有預設值,繫結在$.fn..defaults上;
使用者在呼叫時可傳入設定值以便覆蓋預設值。
一、$.fn
給jquery物件繫結乙個新方法是通過擴充套件$.fn物件實現的。
$.fn.highlight1 = function ()
注意到函式內部的this在呼叫時被繫結為jquery物件,所以函式內部**可以正常呼叫所有jquery物件的方法。
最後要return this;,因為jquery物件支援鏈式操作,我們自己寫的擴充套件方法也要能繼續鏈式下去
$('#test-highlight1 span').highlight1(); //呼叫外掛程式
二、手動傳參$.fn.highlight2 = function (options)
$('#test-highlight2 span').highlight2();
三、$.extend(target, obj1, obj2, …)
使用jquery提供的輔助方法$.extend(target, obj1, obj2, …),它把多個object物件的屬性合併到第乙個target物件中,遇到同名屬性,總是使用靠後的物件的值,也就是越往後優先順序越高:
// 把預設值和使用者傳入的options合併到物件{}中並返回:
var opts = $.extend({}, , options);
四、傳入預設值(最終版)$.fn.highlight = function (options) , $.fn.highlight.defaults, options);
this.css('backgroundcolor', opts.backgroundcolor).css('color', opts.color);
return this;
}// 設定預設值:
$.fn.highlight.defaults =
//呼叫外掛程式
$.fn.highlight.defaults.color = '#659f13';
$.fn.highlight.defaults.backgroundcolor = '#f2fae3';
$('#test-highlight p:first-child span').highlight();
五、針對特定元素的擴充套件
助filter()方法來過濾來實現針對特定元素的擴充套件。
先寫出使用者呼叫的**:
$('#main a').external();
然後按照上面的方法編寫乙個external擴充套件:
$.fn.external = function ()
});}
});}
jquery外掛程式編寫
最近大家都玩什麼react node angular這些玩意去了 隨著瀏覽器的相容性 以及前端開發思想的進化 jquery逐漸被拋棄 現在自己也很少用了 純粹為了懷戀曾經的jquery.現在寫寫jquery外掛程式的寫法。沒事的時候避免老年痴呆,可以用來玩玩。寫法一 function window ...
jQuery 編寫外掛程式
jquery為開發外掛程式提供了兩個方法,分別是 1 類級別的外掛程式開發,即給jquery新增新的全域性函式,相當於給jquery類本身新增方法。2 物件級別的外掛程式開發,即給jquery物件新增方法。1 類級別的外掛程式開發 用的比較少 a.新增全域性函式 jquery.foo functio...
編寫jQuery外掛程式
編寫外掛程式的目的是給已經有的一系列方法或函式做乙個封裝,以便在其他地方重複使用,提高開發效率和方便後期維護。本文將詳細介紹如何編寫jquery外掛程式 jquery的外掛程式主要分為3種型別 1 封裝物件方法 2 封裝全域性函式 可以將獨立的函式加到jquery命名空間下,如常用的jquery.a...