How to remove an event listener from a HTML element in Javascript

Remove an event listener

The following code removes event listener from a button click event.

Example


<!DOCTYPE HTML>
<html>
<head>
<style type="text/css">
p {<!--  ww  w  . java2s  .c o m-->
  background: gray;
  color: white;
  padding: 10px;
  margin: 5px;
  border: thin solid black
}
</style>
</head>
<body>
  <p>This is a test.</p>
  <p id="block2">This is a test.</p>
  <button id="pressme">Press Me</button>
  <script type="text/javascript">
    var pElems = document.getElementsByTagName("p");
    for ( var i = 0; i < pElems.length; i++) {
      pElems[i].addEventListener("mouseover", handleMouseOver);
      pElems[i].addEventListener("mouseout", handleMouseOut);
    }
    document.getElementById("pressme").onclick = function() {
      document.getElementById("block2").removeEventListener("mouseout",handleMouseOut);
    }
    function handleMouseOver(e) {
        e.target.innerHTML += "mouseover";
      e.target.style.background = 'red';
      e.target.style.color = 'black';
    }
    function handleMouseOut(e) {
        e.target.innerHTML += "mouseout";
      e.target.style.removeProperty('color');
      e.target.style.removeProperty('background');
    }
  </script>
</body>
</html>

Click to view the demo





















Home »
  Javascript »
    Javascript Reference »




Array
Canvas Context
CSSStyleDeclaration
CSSStyleSheet
Date
Document
Event
Global
History
HTMLElement
Input Element
Location
Math
Number
String
Window