Monday, December 31, 2012

eventPhase

Properti Event.eventPhase akan mengembalikan 1, 2, atau 3 yang menunjukkan processing phase yang ada dari event ini di dalam event flow.

Sintaks:

Event.eventPhase
  1. Jika event dicapture menggunakan event listener, awal processing phase dari event adalah CAPTURING_PHASE (1).
  2. Setelah CAPTURING_PHASE, urutan selanjutnya adalah AT_TARGET (2). Ditahap ini, event akan dikirimkan kepada elemen yang merupakan target asli si-event.

    Catatan: Jika CAPTURING_PHASE bukanlah awal processing phase, maka AT_TARGET adalah awal processing phase, jadi CAPTURING_PHASE dilewati.

  3. Akhirnya, dalam tahap terakhir adalah BUBBLING_PHASE (3), yaitu event akan bubbles up di dalam DOM hierarchy.

Di bawah ini contoh penggunaan properti Event.eventPhase. Sebelumnya di bagian HEAD terdapat satu fungsi:

window.onload = function Init() { if (document.body.addEventListener) { document.body.addEventListener("click", CapturedClick, true); } } function CapturedClick(event) { GetPhase(event, this.tagName); } function GetPhase(event, tagName) { if("eventPhase" in event) { switch(event.eventPhase) { case Event.CAPTURING_PHASE: alert("CAPTURING_PHASE ("+tagName+")"); break; case Event.AT_TARGET: alert("AT_TARGET ("+tagName+")"); break; case Event.BUBBLING_PHASE: alert("BUBBLING_PHASE ("+tagName+")"); break; } } }

Dan di bagian BODY terdapat:

<BODY ONCLICK="GetPhase(event, this.tagName)"> Klik 'Anchor' untuk melihat <i>processing phase</i> dari event: <A HREF="#" ONCLICK="GetPhase(event, this.tagName)">Anchor</A> </BODY>