国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

制作高質(zhì)量的JQuery Plugin 插件的方法

2024-05-06 14:10:21
字體:
供稿:網(wǎng)友
JQuery Plugin插件,如果大家不明白什么是JQuery插件或都不清楚如何編寫可以查看其官方的網(wǎng)站:jQuery Authoring Guidelines
好了,下面有一些我覺得想做一個(gè)好的插件必須應(yīng)有的要求:
1、在JQuery命名空間下聲明只聲明一個(gè)單獨(dú)的名稱
2、接受options參數(shù),以便控制插件的行為
3、暴露插件的默認(rèn)設(shè)置 ,以便外面可以訪問
4、適當(dāng)?shù)貙⒆雍瘮?shù)提供給外部訪問調(diào)用
5、保持私有函數(shù)
6、支持元數(shù)據(jù)插件
下面將逐條地過一遍:
只聲明一個(gè)單獨(dú)的名稱
這表明是一個(gè)單獨(dú)的插件腳本。如果你的腳本包含多個(gè)插件或者是互補(bǔ)的插件(像$.fn.doSomething()和$.undoSomething()),那么你可以根據(jù)要求聲明多個(gè)名稱。但一般情況下,力爭(zhēng)用單一的名稱來維持插件現(xiàn)實(shí)的所有細(xì)節(jié)。
在本例中,我們將聲明一個(gè)叫“hilight”的名稱
代碼如下:
// 插件的定義
$.fn.hilight = function( options ){
// 這里就是插件的實(shí)現(xiàn)代碼了...
};
然后我們可以像這樣調(diào)用它:
$("divTest").hilight();

接受一個(gè)options參數(shù),以便控件插件的行為
代碼如下:
$.fn.hilight = function(options){
var defaults = {
foreground : 'red',
background : 'yellow'
};
//Extends out defaults options with those privided 擴(kuò)展我們默認(rèn)的設(shè)置
$.extend(defaults,options);
};

而我們可以這樣使用它:
代碼如下:
$('#myDiv').hilight({
foreground: 'blue'
});

暴露插件的默認(rèn)設(shè)置 ,以便外面可以訪問
作為插件的提升和優(yōu)化,我們應(yīng)該將上面的代碼暴露出來作為插件的默認(rèn)設(shè)置。
這非常重要,這樣做讓使用插件的用戶可以非常容易地用最少的代碼重寫或自定義該插件。然而這個(gè)我們可以借助JavaScript function對(duì)象的優(yōu)勢(shì):
代碼如下:
$.fn.hilight = function(options){
//Extend our default options with those provided
//Note that the first arg to extend is an empty object
//this is to keep from overriding our "defaults" object
var opts = $.extend({},$.fn.hilight.defaults,options);
}
$.fn.hilight.defaults = {
foreground : 'red',
background : 'yellow'
};

這里值得注意的是$.extend()第一個(gè)參數(shù)是一個(gè)空的對(duì)象,這樣可以讓我們重寫插件的默認(rèn)設(shè)置
用戶可以像這樣使用插件:
代碼如下:
// override plugin default foreground color
$.fn.hilight.defaults.foreground = 'blue';
// ...
// invoke plugin using new defaults
$('.hilightDiv').hilight();
// ...
// override default by passing options to plugin method
$('#green').hilight({
foreground: 'green'
});

適當(dāng)?shù)貙⒆雍瘮?shù)提供給外部訪問調(diào)用
這個(gè)例子延續(xù)前面的例子,你會(huì)發(fā)現(xiàn)有一個(gè)有趣的方法可以擴(kuò)展你的插件(然后還可以讓其他人擴(kuò)展你的插件 :))。例如,我們?cè)诓寮锫暶髁艘粋€(gè)函數(shù)叫“format”用來高這顯示文本,我們的插件實(shí)現(xiàn)代碼可能是這樣子的:
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 霍林郭勒市| 安阳市| 同德县| 新邵县| 华池县| 衡阳市| 定州市| 顺平县| 洞口县| 潜山县| 蚌埠市| 玉田县| 桃园市| 北碚区| 文昌市| 三门县| 区。| 社旗县| 临江市| 喀什市| 新余市| 奉节县| 望奎县| 商丘市| 通山县| 买车| 晋中市| 额济纳旗| 凤台县| 彩票| 黄石市| 周宁县| 乌兰察布市| 司法| 焦作市| 来宾市| 深州市| 泰兴市| 禹州市| 卫辉市| 奉化市|