I have:
var Init = (function() {
my js goes here
})();
And my js executes correctly when the page is loaded. I also have:
$('form :checkbox').change(function() {
Init();
});
But firebug says Init is not a function.
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.
It isn’t a function.
evaluates the anonymous function right then. And the result of the evaluation apparently does not return a function-object in this case 🙂
Consider:
and
Happy coding 🙂
Here is a function which will “execute something once” and then “return that something to execute later”. (See “You can either [assign] a function or call it; you can’t do both…” from Slaks answer.) However, I wouldn’t do it like this.
Here is another solution (much shorter/cleaner) from CD Sanchez (see comment) which takes advantage of the fact that an assignment evaluates to the assigned value: