Detect element content changes with jQuery
These are mutation events.
I have not used mutation event APIs in jQuery, but a cursory search led me to this project on GitHub. I am unaware of the project's maturity.
I know this post is a year old, but I'd like to provide a different solution approach to those who have a similar issue:
The jQuery change event is used only on user input fields because if anything else is manipulated (e.g., a div), that manipulation is coming from code. So, find where the manipulation occurs, and then add whatever you need to there.
But if that's not possible for any reason (you're using a complicated plugin or can't find any "callback" possibilities) then the jQuery approach I'd suggest is:
a. For simple DOM manipulation, use jQuery chaining and traversing,
$("#content").html('something').end().find(whatever)....
b. If you'd like to do something else, employ jQuery's
bind
with custom event andtriggerHandler
$("#content").html('something').triggerHandler('customAction'); $('#content').unbind().bind('customAction', function(event, data) { //Custom-action });
Here's a link to jQuery trigger handler: http://api.jquery.com/triggerHandler/