国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

細(xì)說 jQuery 插件篇(一) - 添加全局函數(shù)

joyvw / 3545人閱讀

摘要:添加全局函數(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

相關(guān)文章

  • 細(xì)說 jQuery 插件(二) - 添加實(shí)例方法

    摘要:前一篇介紹可以通過添加全局函數(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ò)展...

    chanjarster 評論0 收藏0
  • 細(xì)說 jQuery Ajax操作) - 數(shù)據(jù)加載

    摘要:同樣將其綁定在按鈕點(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...

    paulli3 評論0 收藏0
  • 細(xì)說 jQuery Ajax操作(三) - 過程處理

    摘要:觀察函數(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ù),我們可以使...

    Imfan 評論0 收藏0
  • 細(xì)說 jQuery 元素) - 理解 DOM

    摘要:最強(qiáng)大的特性之一就是簡化了對元素的操作。從圖中,我們可以看出元素中父元素子元素之間的關(guān)系。被封裝到對象中的元素會被自動地,隱式地循環(huán)遍歷。訪問從上可知,返回的是對象,但是我們有時也希望直接對元素進(jìn)行操作。 DOM - Document Object Model,即文檔對象模型,它通過對象樹來展示 HTML 代碼。jQuery 最強(qiáng)大的特性之一就是簡化了對 DOM 元素的操作。 DOM...

    everfight 評論0 收藏0
  • 細(xì)說 jQuery 事件) - 代碼執(zhí)行時機(jī)

    摘要:在元素一篇介紹過,可以使用來使得代碼在加載完畢后自動執(zhí)行代碼,接下來具體介紹下這個機(jī)制。這樣看上去貌似沒什么問題,但是如果有兩個函數(shù)需要指定時就會遇到麻煩,因為屬性只能保存對一個函數(shù)的引用,如果我們寫成以下形式最后代碼執(zhí)行后的效果是會覆蓋。 在元素一篇介紹過,jQuery 可以使用 $(document).ready() 來使得代碼在 DOM 加載完畢后自動執(zhí)行代碼,接下來具體介紹下這...

    dunizb 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<