2011-10-27 37 views
5

Tôi sử dụng rất nhiều jQuery, vì vậy tôi phải tiếp tục gõ chức năng $(document).ready để đặt mã jQuery. Có dạng hàm ngắn hơn không?

+3

Tại sao cậu lại làm cho rất nhiều '$ (document) .ready()' khối? Chỉ mã khởi tạo tham chiếu DOM trên tải trang đầu tiên cần phải ở trong một khối như vậy. Bạn cũng có thể đặt rất nhiều đoạn mã trong một khối '$ (document) .ready()'. – jfriend00

+2

Các câu trả lời bên dưới là rõ ràng, nhưng nó cũng được viết khá rõ ràng trong [tài liệu jQuery cho tài liệu sẵn sàng] (http://api.jquery.com/ready/). – nnnnnn

Trả lời

17

Ba cú pháp sau đây được phép:

Cú pháp 1

$(document).ready(function) 

Cú pháp 2

$().ready(function) 

Cú pháp 3

$(function) 

Cập nhật:

Bên cạnh đó, từ phiên bản 1.9 trở đi:

$(window).on('load', null, function) 
$(document).on('ready', null, function) 
+4

+1 Câu trả lời rất hay. Chào mừng bạn đến với Stack Overflow! –

+1

Ngoài ra còn có '$ (tài liệu) .bind (" sẵn sàng ", xử lý)' (mặc dù điều đó không hoạt động _quite_ theo cùng một cách). – nnnnnn

+2

Đầu tiên là tốt, thứ hai đang gặp nguy hiểm với mâu thuẫn với một khung công tác/thư viện JS khác. Thứ ba là giống như thứ hai. Bạn nên sử dụng jQuery (document) .ready (function() {...}); Viết dòng đó một lần và thực hiện tất cả logic của bạn giữa các dấu ngoặc vuông. Có chuyện gì vậy? –

Các vấn đề liên quan