My jquery code is divided file is divided over 2 files.
In one of the file, I define a function
function something(input){
//does something
}
calling this function only works when the caller line is in the same file. But I need to call it from both files.
If I switch the function to the second file, again I get the same issue. The code in the same file can read it, but not the code in the other file.
My jquery code is divided file is divided over 2 files.
In one of the file, I define a function
function something(input){
//does something
}
calling this function only works when the caller line is in the same file. But I need to call it from both files.
If I switch the function to the second file, again I get the same issue. The code in the same file can read it, but not the code in the other file.
Share Improve this question asked Mar 11, 2011 at 10:21 samisami 1551 gold badge3 silver badges6 bronze badges2 Answers
Reset to default 10Place your functions outside of $(document).ready(function() { });
to give them global scope. Anything placed within it cannot be accessed from the outside.
You can then look into using a namespace to encapsulate your functions. This helps to avoid clutter of the global namespace.
You need to create a namespace object, which is shared between your files.
fileA.js
window.mynamespace = window.mynamespace || {};
mynamespace.something = function(input) {
// do something
};
fileB.js
window.mynamespace = window.mynamespace || {};
mynamespace.something();