Jake Lam
Jake Lam

Reputation: 3452

How to use jQuery to call a JavaScript function from another file

My question:

I have 2 files:

//Sub.js
function Second() {
    //do something here
}

//Main.js
function One() {
    //do something here
}
$(function() {
    Second();
});

So basically, the function Second is too long; therefore, I want to move it to a Sub.js file and call it from the Main.js. The problem is this function ( function Second) has to be executed after function One because it gets some data from the function One output.

I don't know how to do this, please help.

Upvotes: 0

Views: 6521

Answers (4)

I was getting a similar problem. My solution was this. I was defining my function inside the .ready() callback. But The problem is that the functions is not accessible outside of its scope. To make this function available in the global scope (or through any object that is available in the global scope) is necessary declare outside the .ready() callback:

Wrong Way:

$(document).ready(function() {
    function functionName () {
        // ...
    }

    // ...
});

Right Way:

function functionName () {
    // ...
}

$(document).ready(function() {
    // ...
});

Upvotes: 0

JosephC
JosephC

Reputation: 166

You can include both the files in the page and on document ready call it sequentially:

    $( document ).ready(function() {
        var result = first();
        second(result);
    });

Upvotes: 0

Okan Konur
Okan Konur

Reputation: 94

If you specifically want to use jQuery,

$.getscript("Sub.js",function(){
   Second();
});

Upvotes: 2

user6782881
user6782881

Reputation:

<script src="/lib/Sub.js"></script>

<script src="/main.js"></script>

I think you should initialize firstly Sub.js before main.js in your head code.

Because whenever the page is first load js are intialize one by one.

Upvotes: 0

Related Questions