官术网_书友最值得收藏!

2.5 JavaScript的Callback

jQuery中使用了大量Callback,中文譯為“回調函數”。回調函數是通過函數指針調用的函數,機制是把調用者與被調用者分開,調用者不用關心誰是被調用者。這個概念讀起來很抽象。我們來看一段jQuery代碼:

$("button").click(function(){ $("p").hide(1000); });

這段代碼的意思是單擊按鈕時實現p標簽的隱藏。JavaScript的語句按照次序逐一執行,動畫之后的語句可能會產生錯誤或頁面沖突,因為動畫還沒有完成。此時,Callback就可以發揮它的作用,例如:

$(selector).hide(speed, callback);

這里的callback參數是一個函數,是在hide操作完成后被執行的函數。更改前面的代碼:

$("p").hide(1000, function(){ alert("The paragraph is now hidden"); });

這樣就能保證hide動畫在加載完后才執行alert語句。這就是callback的意義。

在jQuery事件處理機制中,我們會發現大量callback的痕跡,例如:

        $("body").click(function(event) {
          console.log("單擊對象是: " + event.target);
        });

這個回調函數帶一個參數event,用來處理操作的對象。還有回調函數用于返回值,例如:

        $("#myform").submit(function() {
          return false;
        });
主站蜘蛛池模板: 鄂尔多斯市| 城市| 遵义市| 东源县| 新田县| 黄石市| 肃宁县| 平塘县| 辉南县| 黎平县| 新平| 行唐县| 仙居县| 鲁山县| 潼关县| 融水| 措美县| 阿瓦提县| 安仁县| 高密市| 军事| 舟曲县| 太和县| 莱州市| 台北市| 桑植县| 连平县| 庄河市| 乾安县| 乳源| 启东市| 兰西县| 横山县| 稷山县| 宜兰市| 钟祥市| 民和| 沁源县| 台湾省| 鹤壁市| 突泉县|