Mình không hiểu tại sao khi viết mã lệnh jQuery thì cần đặt bên trong document.ready.
Bạn đang xem: $(document).ready(function() là gì
Ví dụ như mã sau:
$(document).ready(function () ); });
và đoạn mã sau:
$(“a”).click(function (e) );
cùng có kết quả cuối cùng như nhau.
Vậy thì tại sao và khi nào cần sử dụng document.ready?
jQuery JavaScript
Gửi Huỷ
2 Câu Trả Lời
Câu hỏi hay đấy.
Có một số nhầm lẫn xung quanh toàn bộ lời khuyên “đặt tập lệnh ở cuối trang của bạn” và vấn đề nào nó cố gắng giải quyết. Đối với câu hỏi này, tôi sẽ không nói về việc đặt tập lệnh ở cuối trang có ảnh hưởng đến hiệu suất/thời gian tải hay không. Tôi sẽ chỉ nói về việc liệu bạn có cần $(document).ready nếu bạn cũng đặt tập lệnh ở cuối trang.
Tôi giả sử bạn đang tham chiếu DOM trong các chức năng bạn đang ngay lập tức gọi trong tập lệnh của mình (bất kỳ thứ gì đơn giản như document hoặc document.getElementById). Tôi cũng giả sử bạn chỉ hỏi về các tệp này. IOW, tập lệnh thư viện hoặc tập lệnh mà mã tham chiếu DOM của bạn yêu cầu (như jQuery) cần được đặt trước đó trong trang.
Để trả lời câu hỏi của bạn: Nếu bạn bao gồm các tập lệnh tham chiếu DOM ở cuối trang, Không, bạn không cần $(document).ready.
Giải thích: Nếu không có sự hỗ trợ của “onload” – triển khai liên quan như $(document).ready quy tắc ngón tay cái là: Bất kỳ mã nào tương tác với các phần tử DOM trong trang phải được đặt/bao gồm thêm xuống trang hơn các phần tử mà nó tham chiếu. Điều dễ nhất để làm là đặt mã đó trước khi đóng