Skip to content
Related Articles

Related Articles

Improve Article

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

  • Difficulty Level : Hard
  • Last Updated : 03 Aug, 2021
Geek Week

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.

Attention reader! Don’t stop learning now. Get hold of all the important HTML concepts with the Web Design for Beginners | HTML  course.




My Personal Notes arrow_drop_up
Recommended Articles
Page :