on()
เป็นความพยายามที่จะรวมส่วนใหญ่ของฟังก์ชั่นการผูกเหตุการณ์ของ jQuery เป็นหนึ่งเดียว นี้มีโบนัสเพิ่มของการจัดเก็บ up ไร้ประสิทธิภาพที่มีVSlive
delegate
ใน jQuery เวอร์ชันอนาคตวิธีการเหล่านี้จะถูกลบทิ้งon
และone
จะถูกทิ้งไว้
ตัวอย่าง:
// Using live()
$(".mySelector").live("click", fn);
// Equivalent `on` (there isn't an exact equivalent, but with good reason)
$(document).on("click", ".mySelector", fn);
// Using bind()
$(".mySelector").bind("click", fn);
// Equivalent `on`
$(".mySelector").on("click", fn);
// Using delegate()
$(document.body).delegate(".mySelector", "click", fn);
// Equivalent `on`
$(document.body).on("click", ".mySelector", fn);
ภายใน jQuery แม็พเมธอดเหล่านี้ทั้งหมดและตัวตั้งค่าตัวจัดการเหตุการณ์ชวเลขและon()
วิธีการเพื่อระบุเพิ่มเติมว่าคุณควรละเว้นเมธอดเหล่านี้นับจากนี้เป็นต้นไปและใช้เพียงon
:
bind: function( types, data, fn ) {
return this.on( types, null, data, fn );
},
live: function( types, data, fn ) {
jQuery( this.context ).on( types, this.selector, data, fn );
return this;
},
delegate: function( selector, types, data, fn ) {
return this.on( types, selector, data, fn );
},
ดูhttps://github.com/jquery/jquery/blob/1.7/src/event.js#L965