จากไซต์เอกสาร jQuery APIสำหรับready
ไวยากรณ์ทั้งสามต่อไปนี้เทียบเท่ากัน:
- $ (เอกสาร). พร้อม (ตัวจัดการ)
- $ () พร้อม (ตัวจัดการ) (ไม่แนะนำ)
- $ (ตัวจัดการ)
หลังจากทำการบ้าน - อ่านและเล่นกับซอร์สโค้ดฉันไม่รู้ว่าทำไม
$().ready(handler)
ไม่แนะนำ วิธีแรกและวิธีที่สามเหมือนกันทุกประการตัวเลือกที่สามเรียกใช้ฟังก์ชันพร้อมใช้งานบนวัตถุ jQuery ที่แคชด้วยdocument
:
rootjQuery = jQuery(document);
...
...
// HANDLE: $(function)
// Shortcut for document ready
} else if ( jQuery.isFunction( selector ) ) {
return rootjQuery.ready( selector );
}
แต่ฟังก์ชันพร้อมไม่มีการโต้ตอบกับตัวเลือกขององค์ประกอบโหนดที่เลือกready
ซอร์สโค้ด:
ready: function( fn ) {
// Attach the listeners
jQuery.bindReady();
// Add the callback
readyList.add( fn );
return this;
},
อย่างที่คุณเห็นมันเพิ่มการเรียกกลับไปยังคิวภายใน ( readyList
) และไม่เปลี่ยนแปลงหรือใช้องค์ประกอบในชุด สิ่งนี้ช่วยให้คุณเรียกใช้ready
ฟังก์ชันบนวัตถุ jQuery ทุกตัว
ชอบ:
- ตัวเลือกปกติ :
$('a').ready(handler)
DEMO - ตัวเลือกไร้สาระ :
$('fdhjhjkdafdsjkjriohfjdnfj').ready(handler)
สาธิต - ตัวเลือกที่ไม่ได้กำหนด :
$().ready(handler)
DEMO
สุดท้าย ... คำถามของฉัน: ทำไม$().ready(handler)
ไม่แนะนำ?