Trong jQuery khi bạn làm điều này:
$(function() {
alert("DOM is loaded, but images not necessarily all loaded");
});
Nó chờ DOM tải và thực thi mã của bạn. Nếu tất cả các hình ảnh không được tải thì nó vẫn thực thi mã. Đây rõ ràng là những gì chúng tôi muốn nếu chúng tôi đang khởi tạo bất kỳ nội dung DOM nào như hiển thị hoặc ẩn các phần tử hoặc đính kèm các sự kiện.
Giả sử tôi muốn một số hình ảnh động và tôi không muốn nó chạy cho đến khi tất cả các hình ảnh được tải. Có một cách chính thức trong jQuery để làm điều này?
Cách tốt nhất tôi có là sử dụng <body onload="finished()">
, nhưng tôi không thực sự muốn làm điều đó trừ khi tôi phải làm vậy.
Lưu ý: Có một lỗi trong jQuery 1.3.1 trong Internet Explorer thực sự chờ tất cả các hình ảnh được tải trước khi thực thi mã bên trong $function() { }
. Vì vậy, nếu bạn đang sử dụng nền tảng đó, bạn sẽ nhận được hành vi tôi đang tìm thay vì hành vi đúng được mô tả ở trên.
$("img").load()
làm việc