Open In App

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

Last Updated : 05 Jan, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

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>
    <button type="button" 
        onclick="Geeks()">
        Click me event
    </button>
</body>
  
</html>


Output:

HTML




<!doctype html>
<html>
  
<head>
    <script>
        function Geeks() {
            alert('Hi there!');
        }
    </script>
</head>
  
<body>
    <button type="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>
    <button id="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>
    <button id="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 GeeksforGeeks');
        });
    </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.



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads