[Flex] Event.target & Event.currentTarget

ใช้ประจำ เพื่อนถามประจำ แล้วก็ลืมเป็นประจำ ไม่รู้เป็นอะไรกับไอ้สองตัวนี้ แล้วก็ไม่ค่อยเอามาจดด้วย พอหาได้ครั้งนึงผ่านไปซักพักก็ลืมอีก วันนี้นึกได้ จดมันเลยละกัน

  1. Event.target : คือ component ที่ dispatch event นั้นออกมาก
  2. Event.currentTarget : คือ component ที่รับ event มาแล้วจัดการกับ event

เช่นๆ
File: Sample.mxml



	
	

	

File: Boxes.mxml



	

File: SubBoxes.mxml



	

จากโค้ดด้านบน ถ้าคลิกที่ปุ่ม “Click me” ที่ console ขณะ debug ก็จะขึ้นข้อความมาสองบรรทัด บรรทัดแรกที่บอกว่า event.target จะเป็นอะไรก็จะโชว์บอกว่าคนที่ส่ง event นี่ออกมาคือ Button ส่วนอีกบรรทัดที่บอกว่า event กำลังเรียกใช้อยู่ที่ component ไหนก็จะเป็น component บนสุดที่เป็นคน handle event คือ Boxes นั่นเอง และเนื่องจาก มันส่งมาเป็นชั้นๆ ก็เลยเกิด ขึ้นข้อความมาสองรอบคือที่ SubBoxes รอบนึงกับ Boxes อีกรอบนึง​ (SubBoxes dispatch ต่อให้) รายละเอียดดูที่ Event Propagation

About llun

Just a programmer

,

  • sund

    จัดไป 4 กระโหลกกกกกกกกก