Call order of jQuery ready callback

点点圈 提交于 2019-12-02 00:16:47

问题


If have two javaScript functions in a page which are required to be called when document load is complete. Is is possible that any function can executed first or it will be the first function which is executed first always?

So if using jQuery if you have following code:

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

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

Can it happen that function2 is executed first or will function1 always be executed first ?


回答1:


jQuery ready uses the Deferred object system :

ready: function( fn ) {
    // Add the callback
    jQuery.ready.promise().done( fn );

    return this;
},

(from the source code)

And the documentation states that

Callbacks are executed in the order they were added

So yes, your callbacks will be executed in order of addition.




回答2:


If you want these functions to be executed in order, why don't you just write:

$(document).ready(function(){ 
    function1();
    function2();
});



回答3:


Better make use of callback function to be sure about the execution order of the functions



来源:https://stackoverflow.com/questions/12797257/call-order-of-jquery-ready-callback

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!