Removing listener from inside outer function in JavaScript?


To remove listener from outer function, use removeEventListener().

Example

Following is the code −

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<link rel="stylesheet"
href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<body>
<button id="demo">Press Me</button>
</body>
<script>
   var demoId = document.getElementById('demo');
   demoId.addEventListener('click', function fun() {
      outerFunction(this, fun);
   }, false);
   function outerFunction(self, funct) {
      console.log('outer function is called....');
      self.removeEventListener('click', funct, false);
      console.log("Listener has been removed...")
   }
</script>
</html>

To run the above program, save the file name anyName.html(index.html) and right click on the file. Select the option “Open with live server” in VS Code editor.

Output

This will produce the following output −

After clicking the button “Press Me”.

This will produce the following output on console −

Updated on: 24-Oct-2020

56 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements