วันพุธที่ 10 กรกฎาคม พ.ศ. 2556

สงสัยไหมว่า $(document).ready VS window.onload มันต่างกันอย่างไร


 คนเคยใช้ก็อาจจะสงสัยว่า $(document).ready VS window.onload มันต่างกันอย่างไร
    สำหรับผู้ใช้ javascript ที่ต้องการทำงานกับโดยดึงค่า HTML document มาใช้งาน ซึ่งจะต้องทำงานโดยให้ HTML document โหลดเสร็จเสียก่อนจึงทำงานได้
    ให้ HTML document ทุกอย่างโหลดเสร็จจึงค่อยทำงาน Script สามารถเขียนได้โดยให้อยู่ EVENT onload ใน javascript

    ใน JQuery ก็มีเช่นกันใช้ $(document).ready ได้เหมือนกัน

    แล้วมันต่างกันยังไงกัน ?

Onload ที่เป็น Event เป็นมาตราฐานใน DOM(Document Object Model) แต่ ready เป็น Event ที่เกิดมาเฉพาะใน jQuery เท่านั้น ซึ่งจุดประสงค์ของ ready จะทำงานก่อนในสภาวะที่เป็นไปได้หลังจาก document โหลดเสร็จดังนั้น code ที่ถูกใส่ให้ทำงาน Function เข้าไปใน Element ในหน้าเว็บเพจจะไม่ต้องรอการโหลดทั้งหมดลง แตกต่างจาก Onload จะทำงานหลังจากนั้น Onload จะรอจนกระทั่งทุกๆ Content ของเว็บเพจโหลดเสร็จ (เช่น images)
    แน่นอนว่า Event ที่เป็น Ready จะต้องทำงานก่อน Onload แน่นอน

ทดสอบด้วย Script ดังนี้ เมื่อ Run พบว่าจะเด้งแบบภาพต่อไปนี้



 ต่อจากนั้น
















Source Code:
<script type="text/javascript">
window.onload=function(){
alert("window onload");

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

});
</script>

เขียนโดย ธนดิตถ์ บุตร์หงษ์ , Thanadit Buthong,heaven-front@hotmail.com,Mirror of Kagami
อ้างอิงข้อมูลโดย w3school และอื่นๆ

ไม่มีความคิดเห็น:

แสดงความคิดเห็น