Call a function with onclick() – JavaScript?

The onclick event is a fundamental feature for calling functions in JavaScript when users interact with HTML elements. This event allows you to execute JavaScript code in response to mouse clicks on buttons, links, or any clickable element.

What is the Onclick Event?

The onclick event is triggered when a user clicks on an HTML element. It's commonly used to execute JavaScript functions in response to user interactions, making web pages interactive and responsive.

You can call a function using the onclick event in two main ways:

Method 1: Using the onclick Attribute

The simplest way to call a function with onclick is by adding the onclick attribute directly to an HTML element. This inline approach is easy to understand and implement.

Syntax

<element onclick="functionName()">Content</element>

Example

Here's a complete example showing how to use the onclick attribute to call a function:

<!DOCTYPE html>
<html>
<head>
    <title>Onclick Attribute Example</title>
    <script>
        function showMessage() {
            alert("Button clicked using onclick attribute!");
        }
        
        function changeText() {
            document.getElementById("demo").innerHTML = "Text changed!";
        }
    </script>
</head>
<body>
    <button onclick="showMessage()">Show Alert</button>
    <button onclick="changeText()">Change Text</button>
    <p id="demo">Original text</p>
</body>
</html>

In this example, clicking the first button shows an alert, while clicking the second button changes the paragraph text.

Method 2: Using addEventListener Method

The addEventListener method is the modern, preferred approach for handling events. It offers more flexibility and follows best practices for separating HTML structure from JavaScript behavior.

Syntax

element.addEventListener("click", functionName);
// or with anonymous function
element.addEventListener("click", function() {
    // code here
});

Example

Here's how to use addEventListener to handle click events:

<!DOCTYPE html>
<html>
<head>
    <title>addEventListener Example</title>
    <script>
        function showMessage() {
            alert("Button clicked using addEventListener!");
        }
        
        window.onload = function() {
            // Add event listener to button with ID 'myButton'
            document.getElementById("myButton").addEventListener("click", showMessage);
            
            // Add event listener with anonymous function
            document.getElementById("colorButton").addEventListener("click", function() {
                document.body.style.backgroundColor = 
                    document.body.style.backgroundColor === "lightblue" ? "white" : "lightblue";
            });
        };
    </script>
</head>
<body>
    <button id="myButton">Show Alert</button>
    <button id="colorButton">Toggle Background</button>
</body>
</html>

This example demonstrates both named functions and anonymous functions with addEventListener.

Comparison of Methods

Method Ease of Use Flexibility Best Practice
onclick attribute Very Easy Limited For simple cases
addEventListener Moderate High Recommended

Key Points

  • The onclick attribute mixes HTML and JavaScript, while addEventListener keeps them separate
  • addEventListener can attach multiple event listeners to the same element
  • Use addEventListener for complex applications and onclick attribute for simple, one-off interactions
  • Always ensure your functions are defined before the HTML elements that reference them

Conclusion

Both onclick attribute and addEventListener methods are effective for calling functions on click events. Choose onclick for simple interactions and addEventListener for more complex, maintainable applications. Understanding both approaches gives you flexibility in creating interactive web pages.

Updated on: 2026-03-15T23:19:00+05:30

4K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements