Monday, December 31, 2012

initEvent()

Metode Event.initEvent() meng-initialize objek Event yang dibuat via metode DocumentEvent.createEvent().

Sintaks:

Event.initEvent(eventTypeArg, canBubbleArg, cancelableArg)
  • eventTypeArg adalah string yang mewakili nama event yang akan di-initialize, misal: 'click', 'abort', 'error', 'blur', 'focus', 'change', 'load', 'mousedown', 'mousemove', dll.
  • canBubbleArg adalah boolean, yaitu yang menetapkan apakah event yang dibuat itu dapat bubbles up (true) atau tidak (false) di dalam DOM hierarchy.
  • cancelableArg adalah boolean, yaitu yang menetapkan apakah event yang dibuat itu dapat dibatalkan (true) atau tidak (false).

Setelah objek Event telah dibuat, terlebih dahulu meng-initialize-nya dengan metode ini, setelah sudah di-initialize, baru siap dikirim ke target via metode EventTarget.dispatchEvent().

Contoh di bawah ini membuat objek Event, meng-initialize-nya, terakhir mengirimnya kepada elemen BUTTON. Sebelumnya di bagian HEAD terdapat satu fungsi:

function InitClick(event) { var clickEvent = document.createEvent("HTMLEvents"); clickEvent.initEvent("click", false, false); event.target.dispatchEvent(clickEvent); }

Dan di bagian BODY terdapat satu tombol dan satu event listener:

<BUTTON ID="buttonID" ONMOUSEOVER="InitClick(event)">MouseOver teks tombol ini.</BUTTON> <SCRIPT TYPE="text/javascript"> function HandleEvent() { alert(event.type+" telah terjadi."); } var buttonElem = document.getElementById("buttonID"); buttonElem.onclick = HandleEvent; </SCRIPT>

Tambahan: Untuk <IE9, gunakan metode createEventObject() untuk membuat objek Event dan metode fireEvent() untuk mengirimkannya.