ใน jQuery เมื่อคุณทำสิ่งนี้:
$(function() {
alert("DOM is loaded, but images not necessarily all loaded");
});
มันกำลังรอให้ DOM ทำการโหลดและประมวลผลรหัสของคุณ หากภาพทั้งหมดไม่ได้โหลดจากนั้นก็ยังคงรันรหัส เห็นได้ชัดว่านี่คือสิ่งที่เราต้องการหากเรากำลังเริ่มต้นสิ่ง DOM ใด ๆ เช่นการแสดงหรือซ่อนองค์ประกอบหรือการแนบเหตุการณ์
สมมติว่าฉันต้องการภาพเคลื่อนไหวและฉันไม่ต้องการให้มันทำงานจนกว่าภาพทั้งหมดจะถูกโหลด มีวิธีอย่างเป็นทางการใน jQuery ในการทำเช่นนี้หรือไม่?
วิธีที่ดีที่สุดที่ฉันต้องใช้<body onload="finished()">
คือ แต่ฉันไม่ต้องการทำอย่างนั้นจริง ๆ เว้นแต่ฉันจะต้องทำ
หมายเหตุ: มีเป็นข้อผิดพลาดใน jQuery 1.3.1ใน Internet Explorer $function() { }
ซึ่งอันที่จริงไม่ต้องรอให้ภาพทุกภาพที่จะโหลดก่อนที่จะดำเนินภายในรหัส ดังนั้นหากคุณกำลังใช้แพลตฟอร์มนั้นคุณจะได้รับพฤติกรรมที่ฉันกำลังมองหาแทนที่จะเป็นพฤติกรรมที่ถูกต้องที่อธิบายไว้ข้างต้น
$("img").load()
ทำงานใช่ไหม