ชะลอการทำงานของ jQuery s ready event. และให้ทำงานในส่วนของ script
ที่กำหนดก่อน แล้วค่อยทำงานในส่วนของ jQuery s ready event.
ทดสอบรันไฟล์ ข้างต้น เพื่อเปรียบเทียบลำดับการทำงาน
ไฟล์ jq_learn121112_1.php case 1
<!DOCTYPE html> <html> <head> <style>div { color:red; }</style> <script src="http://code.jquery.com/jquery-latest.js"></script> </head> <body> <script type="text/javascript"> console.log("1"); $.holdReady(true); $.getScript("myplugin.js", function() { console.log("2"); $.holdReady(false); console.log("3"); }); </script> <script type="text/javascript"> console.log("4"); $(function(){ console.log("5"); }); console.log("6"); </script> </body> </html> <script type="text/javascript"> console.log("7"); </script>
ไฟล์ jq_learn121112_1.php case 2
<!DOCTYPE html> <html> <head> <style>div { color:red; }</style> <script src="http://code.jquery.com/jquery-latest.js"></script> </head> <body> <script type="text/javascript"> console.log("1"); //$.holdReady(true); $.getScript("myplugin.js", function() { console.log("2"); // $.holdReady(false); console.log("3"); }); </script> <script type="text/javascript"> console.log("4"); $(function(){ console.log("5"); }); console.log("6"); </script> </body> </html> <script type="text/javascript"> console.log("7"); </script>
ไฟล์ myplugin.js สำหรับทดสอบ
// JavaScript Document console.log("test sample plugin");
ดูผลลัพธ์หลังจากรันโค้ดใน แท็บ console ใน google chrome โดยกด F12
สังเกตลำดับการรันของตัวเลขที่แสดง รวมทั้งผลลัพธ์การทำงานของ ไฟล์ myplugin.js