How to do an action when an element is added to a page using Jquery?

marcgg picture marcgg · Sep 29, 2009 · Viewed 7.5k times · Source

When I add something of the class "myClass" I want to call a function on this element.

It would be something in the lines of:

jQuery(".error_message").live("load",function(){
  alert("test"+this);
});

... except this doesn't exist.

What's the best way of doing this?

Answer

Barnabas Kendall picture Barnabas Kendall · Sep 29, 2009

The short, direct answer to your question would be "no can do." But from your comment a few minutes ago, I see that you want to add elements in different ways and have one unified method of handling these newly added items. May I suggest another approach? Trigger custom events.

The way it would work is like this: everywhere you load the error-message element, you add one line when it's done:

 $('.error_message').trigger('load');

Now your .live('load'...) thing will work.