Friday, December 28, 2012

Register Event Handler di bawah Versi IE9

Sebelumnya...
Fungsi yang menghandle event dinamakan event handler. Proses meregister event handler kepada event di suatu node DOM dinamakan registering an event handler.

Untuk meregister event handler kepada suatu event untuk IE dibawah versi 9, bisa gunakan attachEvent().

Seperti yang diketahui, untuk meregister event handler bisa juga menggunakan cara 'tradisional model', 'inline model', atau 'via DOM'.

Sintaks:

Obj.attachEvent(type, listener)
  • Untuk Obj bisa elemen HTML, CommentNode, document, DocumentFragment, TextNode, window, XMLDocument, atau XMLHttpRequest.
  • Untuk type adalah string nama event handler, misal 'onclick', 'onmouseover', 'onmouseout', dst.
  • Untuk function adalah event handler yang akan dipanggil ketika event ini terjadi.

Berikut contoh meregister event handler bernama handleClick kepada event ONCLICK untuk elemen BUTTON:

<BUTTON ID="buttonID">Klik tombol ini</BUTTON> <SCRIPT TYPE="text/javascript"> function handleClick(){ alert("Halo saya event handler!"); } var buttonElem = document.getElementById("buttonID"); buttonElem.attachEvent("onclick", handleClick); </SCRIPT>

Catatan: Pastikan nilai parameter type menggunakan huruf kecil semua. Pastikan juga menggunakan prefix on di depan tipe event.

Untuk register via DOM, nilai parameter type adalah nama event yang prefix-nya ditiadakan, misal onclick menjadi click, onmouseover menjadi mouseover, dst.