What is the best way to add an event in JavaScript ?

Javascript has events to provide a dynamic interface to a webpage. These events are hooked to elements in the Document Object Model(DOM).
There are three ways to assign an event handler:
The best way to add an event in JavaScript script is addEventListener(). Let’s dive into few examples to understand.
Example 1: In this example, we will add an event using event handler attributes.
Syntax:
<element onclick = "script">
The onclick event attribute works when the user clicks on the button. When the mouse clicked on the element then the script runs.
HTML
| <!doctype html> <html>  <head>     <script>         function Geeks() {             alert('Hi there!');         }     </script> </head>  <body>     <buttontype="button"        onclick="Geeks()">         Click me event     </button> </body>  </html> | 
Output:
HTML
| <!doctype html> <html>  <head>     <script>         function Geeks() {             alert('Hi there!');         }     </script> </head>  <body>     <buttontype="button"            onclick="Geeks()">         Click me event     </button> </body>  </html> | 
Disadvantage:
- Assigning event handlers using HTML event handler attributes is considered a bad practice.
- The event handler code is mixed with the HTML code, which will make the code more difficult to maintain and extend.
- There is a problem with timing as if the element is loaded fully before the JavaScript code, users can start interacting with the element on the webpage which will cause an error.
Example 2: In this example, we will add an event using the HTML DOM property.
Syntax:
element.onclick = function() {}
HTML
| <!doctype html> <html>  <body>     <buttonid="button">Click me event</button>     <script>         let btn = document.getElementById("button");          btn.onclick = function() {             alert('Hi there');         };     </script> </body>  </html> | 
Output:
 
Disadvantage: We can’t assign more than one event handler for a particular event.
Example 3: In this example, we will add an event using the addEventListener() method. The addEventListener() method takes the event to listen for, and a second argument to be called whenever the described event gets fired. Any number of event handlers can be added to a single element without overwriting existing event handlers.
Syntax:
element.addEventListener(event, listener);
HTML
| <!doctype html> <html>  <body>     <buttonid="button">Click me event</button>      <script>         let btn = document.getElementById("button");          btn.addEventListener('click', function() {             alert('Hi there');         });          btn.addEventListener('click', function() {             alert('Welcome To zambiatek');         });     </script> </body>  </html>  | 
Output:
Advantage: We can assign more than one event handler for particular event.
Conclusion: Now you can Conclude that addEventListener() is the best way to add an event in JavaScript script due to it’s Multiple event handler for particular event.
 
				 
					

