Monday, December 31, 2012

addEventListener()

Metode EventTarget.addEventListener() meregister event listener untuk event yang ditetapkan kepada Obj yang ada.

Sintaks:

Obj.addEventListener(type, listener, useCapture)
  • Obj bisa elemen HTML, CommentNode, document, DocumentFragment, TextNode, window, XMLDocument, atau XMLHttpRequest.
  • type adalah string yang menetapkan nama event yang ingin diregister, misal: 'click', 'abort', 'error', 'blur', 'focus', 'change', 'load', 'mousedown', 'mousemove', dll.
  • function adalah event listener yang akan dipanggil ketika event itu terjadi.
  • useCapture adalah boolean, nilai true meregister event listener untuk CAPTURING_PHASE, sedangkan nilai false meregister event listener untuk BUBBLING_PHASE.

Contoh di bawah ini meregister event listener untuk event 'click' di elemen BUTTON ber-ID 'buttonID':

<BUTTON TYPE="button" ID="buttonID">Klik disini</BUTTON> <SCRIPT TYPE="text/javascript"> function makeAlert() { alert("Halo dunia!"); } var buttonElem = document.getElementById("buttonID"); buttonElem.addEventListener("click", makeAlert, false); </SCRIPT>

Gunakan metode EventTarget.removeEventListener() untuk menghapus event listener yang telah diregister via metode EventTarget.addEventListener().

Metode EventTarget.addEventListener() tidak bekerja untuk IE di bawah versi IE9. Untuk IE di bawah IE9, gunakan metode attachEvent() untuk meregister event listener dan gunakan metode setCapture() untuk menetapkan apakah event listener perlu diregister untuk CAPTURING_PHASE atau BUBBLING_PHASE.