Der*_*ker 8 jquery document-ready domready
我知道jQuery中对$(function(){})的调用是按照定义的顺序执行的,但是我想知道你是否可以控制队列的顺序?
例如,是否可以在"Hello World 1"之前调用"Hello World 2":
$(function(){ alert('Hello World 1') });
$(function(){ alert('Hello World 2') });
Run Code Online (Sandbox Code Playgroud)
问题是它是否可能......我已经知道它违背了最佳做法;)
这是你要怎么做的:
// lower priority value means function should be called first
var method_queue = new Array();
method_queue.push({
method : function()
{
alert('Hello World 1');
},
priority : 2
});
method_queue.push({
method : function()
{
alert('Hello World 2');
},
priority : 1
});
function sort_queue(a, b)
{
if( a.priority < b.priority ) return -1;
else if( a.priority == b.priority ) return 0;
else return 1;
}
function execute_queue()
{
method_queue.sort( sort_queue );
for( var i in method_queue ) method_queue[i].call( null );
}
// now all you have to do is
execute_queue();
Run Code Online (Sandbox Code Playgroud)
你可以在这里阅读更多相关信息
| 归档时间: |
|
| 查看次数: |
8348 次 |
| 最近记录: |