Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

sharing a js functions between code in 2 files

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.

like image 672
sami Avatar asked Mar 11 '11 10:03

sami


2 Answers

Place 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.

like image 130
Jeevan Takhar Avatar answered Sep 21 '22 21:09

Jeevan Takhar


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();
like image 29
jAndy Avatar answered Sep 20 '22 21:09

jAndy