views:

178

answers:

2

I am using jQuery. I keep all of my function definitions wrapped in the $(document).ready event in application.js. I have a function from it that I would like to call somewhere in the body of the page I am working on.

I was wondering if there is some alternative to the .ready event that will work on a script load. Ideally I would like to do something like: $('application.js').ready( call function );

In the jQuery documentation it only mentions the $(document).ready call but I was wondering if this can be altered or if there is some plain javascript alternative.

+1  A: 

I am curious about this myself, but instinct would tell me you'd want to wait for the document to finish loading before running any javascript.

Kevin
Wrong. You would wait for document to load because then all DOM elements will be loaded, and you're sure that you can safely manipulate them. If you load script after element is defined and added to tree (you have closing tag before script) then you can safely manipulate this element.
MBO
+1  A: 

I think you’re looking for $.getScript. This jQuery function loads a JavaScript file from the server using a GET HTTP request and executes it. You can specify a callback function, to be executed after the script itself has been executed.

$.getScript('foo.js', function() {
 alert('foo.js was loaded, do something cool now');
});
Mathias Bynens