Skip to content
Related Articles

Related Articles

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

View Discussion
Improve Article
Save Article
Like Article
  • Difficulty Level : Hard
  • Last Updated : 29 Nov, 2021

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.


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!