Example
When a <p> element inside a <div> element is clicked, change the background color of all <p> elements:
$("div").delegate("p", "click", function(){
$("p").css("background-color", "pink");
});
Try it Yourself »
Definition and Usage
The delegate() method attaches one or more event handlers for specified elements that are children of selected elements, and specifies a function to run when the events occur.
Event handlers attached using the delegate() method will work for both current and FUTURE elements (like a new element created by a script).
As of jQuery version 1.7, the on() method is the preferred method for attaching event handlers for selected elements.
Syntax
$(selector).delegate(childSelector,event,data,function)
Parameter | Description |
---|---|
childSelector | Required. Specifies one or more child elements to attach the event handler to |
event | Required. Specifies one or more events to attach to the elements. Multiple event values are separated by space. Must be a valid event |
data | Optional. Specifies additional data to pass along to the function |
function | Required. Specifies the function to run when the event occurs |
Try it Yourself - Examples
Add event
handlers for future elements
How to use the delegate() method to add event handlers for elements not yet created.
Pass along data to the function
How to pass along data to a custom named event handler.