sami
sami

Reputation: 155

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.

Upvotes: 8

Views: 8590

Answers (2)

Jeevan Takhar
Jeevan Takhar

Reputation: 491

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.

Upvotes: 10

jAndy
jAndy

Reputation: 235962

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();

Upvotes: 9

Related Questions