Open In App

How to fire event if CSS class is changed using jQuery ?

Improve
Improve
Like Article
Like
Save
Share
Report

Given an HTML document with heading and button, jQuery should fire an event when the CSS class of the button changes.

Approach: In jQuery, there is no provision to trigger an event on class change. An alternative method is to manually raise an event when you programmatically change the class using the trigger() function. The trigger() function will raise an event whenever the class of the button is changed.

HTML




<!DOCTYPE html>
<html lang="en">
  
<head>
  
    <meta charset="UTF-8">
    <meta name="viewport" content=
        "width=device-width, initial-scale=1.0">
  
    <script src=
    </script>
  
    <style>
        .buttonstyle {
            background-color: #4CB96B;
            color: white;
        }
  
        .buttonsize {
            padding: 1em;
            height: 70px;
            width: 400px;
            border: .5px solid black;
            outline: none;
            font-size: large;
            border-radius: 10px;
        }
    </style>
</head>
  
<body>
    <center>
        <h1>
            Click the button to
            change its style
        </h1>
  
        <button id="classchange-btn" 
            class="buttonsize">
            Click Me
        </button>
    </center>
  
    <script>
        $("#classchange-btn").click(function () {
            $(this).toggleClass("buttonstyle")
                    .trigger('classChanged');
        });
  
        $("#classchange-btn").on(
            "classChanged", function () {
            alert("Button Style Change event fired");
        });
    </script>
</body>
  
</html>



Output:

Initially the page looked like the following image.

On clicking the button, an alert message pops up indicating that the listener was fired and the CSS class of the button has changed.

After closing the popup, the button’s CSS class changed (notice the green background color and white text).

jQuery is an open-source JavaScript library that simplifies the interactions between an HTML/CSS document, It is widely famous with it’s philosophy of “Write less, do more”.
You can learn jQuery from the ground up by following this jQuery Tutorial and jQuery Examples.



Last Updated : 29 Nov, 2021
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads