Metode EventTarget.removeEventListener()
menghapus event listener dari EventTarget yang sebelumnya di register via metode EventTarget.addEventListener().
Sintaks:
Obj.removeEventListener(type, listener, useCapture)
- Obj bisa elemen HTML, CommentNode, document, DocumentFragment, TextNode, window, XMLDocument, atau XMLHttpRequest.
- type adalah string dari nama event yang akan di hapus, misal: 'click', 'abort', 'error', 'blur', 'focus', 'change', 'load', 'mousedown', 'mousemove', dll.
- listener adalah event listener yang akan dihapus.
- useCapture adalah boolean,
true
ataufalse
.
Contoh di bawah ini ada dua tombol yang digunakan untuk meregister event listener dan menghapus event listener:
<SCRIPT TYPE="text/javascript">
function makeAlert() {
alert("Event \'click\' telah terjadi pada tombol yang anda klik.");
}
function regEventHandler() {
var buttonElem = document.getElementById("buttonID");
if (buttonElem.addEventListener) {
buttonElem.addEventListener("click", makeAlert, false);
}
}
function remEventHandler() {
var buttonElem = document.getElementById("buttonID");
if (buttonElem.removeEventListener){
buttonElem.removeEventListener("click", makeAlert, false);
}
}
</SCRIPT>
<BUTTON ONCLICK="regEventHandler()">Register EventListener.</BUTTON>
<BUTTON ONCLICK="remEventHandler()">Remove EventListener.</BUTTON>
<BUTTON TYPE="button" ID="buttonID">Klik saya.</BUTTON>
Tambahan: Untuk menghapus event listener, pastikan nilai-nilai parameter di dalam metode EventTarget.removeEventListener()
ini sama seperti nilai-nilai yang diberikan di dalam parameter metode EventTarget.addEventListener()
.
Untuk menghapus event listener yang diregister via metode attachEvent()
, gunakan metode detachEvent()
.