Add Click Function To Dynamically Created Html Tags
So I have a div that contains a number of other divs. Each of these other divs has a class called record. I only use this class to select all of these divs.
.live() in this case. This is a perfect situation for jQuery's
.delegate()
method, which is more efficient.$("#resultContainer").delegate('.record','click',function() {
// do stuff here...
});
Only clicks inside the resultContainer
need to be processed to see if they match .record
, where .live()
will need to process every click on the page.
Solution 2:
Attach a handler to the event for all elements which match the current selector, now and in the future.
$(".record").live("click", function(e) {
//do stuff here...
});
Solution 3:
As of jQuery 1.7 you should use on()
instead of live()
or delegate()
. From the documentation:
As of jQuery 1.7, the .on() method provides all functionality required for attaching event handlers.
The on()
method should be attached to a static parent or document
:
$(document).on( 'click', '.record', function(e) {
// do stuff here....
});
Solution 4:
Take a look at the jQuery live() function
You can add an event listener for all div, regardless of changes in the page
Solution 5:
Try live() method. Instead of:
$(".record").click(function(e) {
do stuff here....
});
Try this:
$(".record").live(function(e) {
do stuff here....
});
Post a Comment for "Add Click Function To Dynamically Created Html Tags"