我的问题很简单。
我有一些配置和加载,需要在document.ready()调用之前完成。
// initialize ASAP so it loads super fast
soundManager.setup({
url: 'swf/',
onready: SMOnReadyHandler
});
例如,此
onready
事件处理程序可能要花很长时间才能完成。在此之后,我想调用
document.ready()
事件侦听器以加载页面的其余部分,如下所示:$(document).ready(function() {
// code here might be dependent on the completion of
// soundManager.onready event handler
});
如何确保
$(document).ready
处理程序完全完成后才出现soundManager.onready
?在此先多谢!
最佳答案
您可以使用deferred
:
var soundManagerDeferred = $.Deferred();
soundManager.setup({
url: 'swf/',
onready: SMOnReadyHandler
});
function SMOnReadyHandler() {
soundManagerDeferred.resolve();
}
$(document).ready(function() {
soundManagerDeferred.done(function() {
//init
});
});