2011-02-09 40 views
2

我現在正在學習一些AJAX,並且用於提交表單的jQuery函數被封裝在$(function(){})中。這到底是什麼?

$(function() { 
    $('.error').hide(); 
    $(".button").click(function() { 
     // validate and process form here 
    } 
}); 

回答

3

這是對jQuery的準備頁面上運行的代碼提供了一個快捷方式。它相當於:

$(document).ready(function() { 
    ... 
}); 

當頁面準備好被操作時,jQuery將調用這個函數。

Docs

5

$(function() { });是短手$(document).ready(function() { });

See documentation.

+1

還要補充,它可以確保你的代碼不會啓動DOM被加載,可能導致一些意外的行爲之前執行。 – Loktar 2011-02-09 14:56:21

1

這是同樣的事情$(document).ready()。這只是執行而不是使用就緒功能的快捷方式。

1

$(function() { })等待庫門,以做enything到庫門之前加載。同$(document).ready(function() { });

1

正如其他人所指出的,它是jQuery(document).ready(fn)一條捷徑,這是document.addEventListener('DOMContentLoaded', fn, useCapture)

https://developer.mozilla.org/en/Gecko-Specific_DOM_Events

一個跨瀏覽器實現的解析時,在頁面的文檔對象被解僱文件完成。在此事件觸發時,頁面的DOM已準備就緒,但引用的樣式表,圖像和子幀可能無法加載;使用「加載」事件來檢測完全加載的頁面。

相關問題