摘要:添加全局函數(shù)所謂全局函數(shù)就是對象的方法,例如在一篇中介紹的等方法。
當(dāng)我們希望將一些功能性代碼重復(fù)使用,可以將其打包成一個 jQuery 插件來使用。
使用 $ 別名首先我們在編寫插件時必須保證 jQuery 庫已經(jīng)載入,但是我們不能保證 $ 一定可用,為了使用 $ 別名,我們可以利用 IIFE (Immediately Invoked Function Expression),即立即執(zhí)行函數(shù):
(function($) { //... }(jQuery));
函數(shù)只接收一個參數(shù),我們通過這個參數(shù)傳入了jQuery對象。因此在這個函數(shù)內(nèi)部,使用 $ 別名就不會有沖突了。
添加全局函數(shù)所謂全局函數(shù)就是 jQuery 對象的方法,例如在 Ajax 一篇中介紹的 $.get 等方法。我們來添加一個新的全局函數(shù) $.sum:
(function($) { $.sum = function(array) { var total = 0; $.each(array, function(index, value) { value = $.trim(value); value = parseFloat(value) || 0; total += value; }); return total; }; }(jQuery));
我們來測試下這個為數(shù)組元素求和的方法是否生效:
隔離函數(shù)現(xiàn)在我們已經(jīng)在 jQuery 命名空間中創(chuàng)建了一個新的全局函數(shù),但這樣寫有可能會污染命名空間,例如當(dāng)其他插件也使用 sum 命名時就會出現(xiàn)沖突,為了避免沖突的發(fā)生,我們可以使用命名空間來隔離函數(shù),即將函數(shù)封裝到一個對象中。
(function($) { $.myPlugin = { sum: function(array) { var total = 0; $.each(array, function(index, value) { value = $.trim(value); value = parseFloat(value) || 0; total += value; }); return total; }, } }(jQuery));
此時我們可以這樣來使用:
將上述代碼保存到 jQuery.myPlugin.js 文件中,就可以將其作為一個簡單的插件來使用了。
參考http://book.douban.com/subject/24669823/
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/78174.html
摘要:前一篇介紹可以通過添加全局函數(shù)來開發(fā)插件,實(shí)際上全局函數(shù)就是對對象進(jìn)行擴(kuò)展,而添加實(shí)例方法就是對對象進(jìn)行擴(kuò)展,我們可以使用別名。添加實(shí)例方法此時頁面內(nèi)只有一個元素,添加新增的實(shí)例方法進(jìn)入頁面后實(shí)例方法添加成功。 前一篇介紹可以通過添加全局函數(shù)來開發(fā) jQuery 插件,實(shí)際上全局函數(shù)就是對 jQuery 對象進(jìn)行擴(kuò)展,而添加實(shí)例方法就是對 jQuery.prototype 對象進(jìn)行擴(kuò)展...
摘要:同樣將其綁定在按鈕點(diǎn)擊事件上查看結(jié)果為這里需要注意,如果文檔內(nèi)的格式錯誤,雖然不會報錯,但是將無法執(zhí)行回調(diào)函數(shù)。 Ajax 通俗來講即不需要刷新頁面即可從服務(wù)器或客戶端上加載數(shù)據(jù),當(dāng)然這些數(shù)據(jù)的格式是多種多樣的。 加載 HTML 我們通常使用加載 HTML 的方法來加載 HTML 片段,并插入到指定位置,假設(shè)當(dāng)前頁面為: load showImg(http://segmen...
摘要:觀察函數(shù)和函數(shù)可以用來作為觀察函數(shù),我們可以使用觀察函數(shù)的回調(diào)函數(shù)來做相應(yīng)的處理。當(dāng)請求開始且尚未進(jìn)行其他傳輸時,會觸發(fā)的回調(diào)函數(shù)。當(dāng)最后一次活動請求終止時,則會執(zhí)行通過注冊的回調(diào)函數(shù)。 對于 jQuery 通過 Ajax 方式傳遞數(shù)據(jù)時,我們還可以在過程中進(jìn)行一定的處理,以便達(dá)到我們的需求。 觀察函數(shù) ajaxStart 和 ajaxStop 函數(shù)可以用來作為觀察函數(shù),我們可以使...
摘要:最強(qiáng)大的特性之一就是簡化了對元素的操作。從圖中,我們可以看出元素中父元素子元素之間的關(guān)系。被封裝到對象中的元素會被自動地,隱式地循環(huán)遍歷。訪問從上可知,返回的是對象,但是我們有時也希望直接對元素進(jìn)行操作。 DOM - Document Object Model,即文檔對象模型,它通過對象樹來展示 HTML 代碼。jQuery 最強(qiáng)大的特性之一就是簡化了對 DOM 元素的操作。 DOM...
摘要:在元素一篇介紹過,可以使用來使得代碼在加載完畢后自動執(zhí)行代碼,接下來具體介紹下這個機(jī)制。這樣看上去貌似沒什么問題,但是如果有兩個函數(shù)需要指定時就會遇到麻煩,因為屬性只能保存對一個函數(shù)的引用,如果我們寫成以下形式最后代碼執(zhí)行后的效果是會覆蓋。 在元素一篇介紹過,jQuery 可以使用 $(document).ready() 來使得代碼在 DOM 加載完畢后自動執(zhí)行代碼,接下來具體介紹下這...
閱讀 3120·2023-04-25 15:02
閱讀 2821·2021-11-23 09:51
閱讀 2034·2021-09-27 13:47
閱讀 1992·2021-09-13 10:33
閱讀 975·2019-08-30 15:54
閱讀 2647·2019-08-30 15:53
閱讀 2862·2019-08-29 13:58
閱讀 894·2019-08-29 13:54