The jQuery undelegate() method is an inbuilt method that is used to remove the specified event handler from the selected element.
Syntax:
$(selector).undelegate(selector, event, function)
Parameters: This method accepts three parameters as mentioned above and described below:
- selector: It is an optional parameter that is used to specify the selector from which the event will remove.
- event: It is an optional parameter that is used to specify the name of the event type on the selector.
- function: It is an optional parameter that is used to specify the name of the handler function to remove.
The below examples illustrate the undelegate() method in jQuery:Â
Example 1: This example does not contain any parameters.Â
HTML
<!DOCTYPE html><html>Â
<head>Â Â Â Â <title>The undelegate Method</title>Â Â Â Â <script src=Â Â Â Â </script>Â
    <!-- jQuery code to show the working of this method -->    <script>        $(document).ready(function () {            $("body").delegate("p", "click", function () {                $(this).css("font-size", "25px");            });            $("button").click(function () {                $("body").undelegate();            });        });    </script>    <style>        div {            width: 300px;            height: 100px;            background-color: lightgreen;            padding: 20px;            font-weight: bold;            font-size: 20px;            border: 2px solid green;        }Â
        button {            margin-top: 10px;        }    </style></head>Â
<body>    <div>        <!-- click on this p element -->        <p>Welcome to neveropen!.</p>    </div>    <!-- click on this button to remove the        event handler -->    <button>Remove...!</button></body>Â
</html> |
Output:Â
Note: First click on the button and then click on the paragraph, then no changes occur.Â
Example 2: This example contains all parameters.Â
HTML
<!DOCTYPE html><html>Â
<head>Â Â Â Â <title>The undelegate Method</title>Â Â Â Â <script src=Â Â Â Â </script>Â
    <!-- jQuery code to show the working of this method -->    <script>        $(document).ready(function () {            $("body").delegate("div", "click", function () {                $(this).animate({                    height: "+=100px"                });                $(this).animate({                    width: "+=100px"                });            });            $("button").click(function () {                $("body").undelegate("div", "click");            });        });    </script>    <style>        div {            width: 30px;            height: 30px;            background-color: green;        }Â
        button {            margin-top: 10px;        }    </style></head>Â
<body>Â Â Â Â <div></div>Â Â Â Â <!-- click on this button -->Â Â Â Â <button>Click here..!</button></body>Â
</html> |
Output:Â
Note: If click on the button and then click on the div element then no change in the size will take place.

