I want to call a function after an element has been created. Is there a way to do this?
Example:
$("#myElement").ready(function() {
// call the function after the element has been loaded here
console.log("I have been loaded!");
});
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
How are you creating the element?
If you’re creating it in the static HTML then just use
.ready(handler)or.on("load", handler). If you’re using AJAX though that’s another kettle of fish.If you’re using jQuery’s
load()function then there’s a callback you can run when the contents been loaded:If you’re using jQuery’s
$.ajaxor$.get/$.postfunctions then there’s a success callback in that:If you’re just creating the element and appending it like this:
Then you can do this instead:
But this won’t matter – because it’s synchronous (which means that the next line of code won’t run until it’s added the element to the DOM anyway… – unless you’re loading images and such) so you can just do:
But acctually, saying THAT you could just do this: