ความแตกต่างของ .bind(), .live(), และ .delegate() : JavaScript & jQuery
 

Forum :: JavaScript & jQuery :: ความแตกต่างของ .bind(), .live(), และ .delegate()

.bind(), .live(), และ .delegate()  คือฟังก์ชั่นในการ เพิ่ม event ของ element หรือ selector ได้ (เท่าที่ผมเข้าใจนะ)

$('a').bind(
   'click',
   function(e){
   alert('This is method bind.');
})

จาก code ด้านบนนี้ .bind นั้นจะสามารถใส่ event ให้กับ Element ที่มีอยู่ในขณะนั้นเท่านั้น ไม่สามารถกำหนด event ให้กับ element ที่เพิ่มเข้ามาทีหลังไม่ได้

$('a').live('click', function() { alert('This is live') });
// or
$(document).delegate('a', 'click', function() { alert('This is Delegate); });

Code ด้านบนนี้สามารถกำหนด event ให้กับ Element A ได้ ถึงแม้ขณะนั้น ยังไม่มี Element A ใน document root ก็ตาม เช่น เมื่อมีการโหลด HTML เข้ามาผ่านทาง AJAX โดยที่มี Element A ติดเข้ามาด้วย Element A ที่เข้ามานั้นก็จะถูกจับ event click ใส่เข้าไปทันที



ที่มา : http://www.jquery.in.th

2 Comment

  • Nuttapong Suptawepong
    #1 Comment By Nuttapong Suptawepong เมื่อ 2 ตุลาคม 2013 เวลา 14 นาฬิกา 25 นาที
    สามารถเข้าไปสร้างบทความและจัดการหมวดหมู่บทความได้นะครับ 
    http://www.function.in.th/blog/5985937813/
     
  • Jeral Fernandest
    #2 Comment By Jeral Fernandest เมื่อ 2 ตุลาคม 2013 เวลา 14 นาฬิกา 28 นาที
    อ๋อ ขอบคุณนะครับ
     

Comment Forum

 
 
 
Share This Topic Login with Facebook