Skip to content
Related Articles

Related Articles

How to fire event if CSS class is changed using jQuery ?
  • Last Updated : 16 Jul, 2020

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

filter_none

edit
close

play_arrow

link
brightness_4
code

<!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>

chevron_right


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).

full-stack-img

My Personal Notes arrow_drop_up
Recommended Articles
Page :