![](/img/trans.png)
[英]Wait For head.ready() and $(document).ready(), Then Execute
[英]$(document).ready() not firing when calls in head.ready()
我在使用jQuery $(document).ready
和headjs框架v1.0.3和head.ready功能時遇到問題,僅在Internet Explorer(版本11,我無法嘗試使用較舊的版本)上,並且十分之一...
在</body>
之前,我有:
head.load('//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js',function() {
head.load('//ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/jquery-ui.min.js');
head.ready(function() {
$(document).ready(function() {
$('.class').show();
});
});
});
有時,不會觸發$(document).ready事件。 它可以在Chrome和Firefox上正常運行。
$(window).load doesn't work better.
我試圖把head.ready()
,但徒勞:
head.load('//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js',function() {
head.load('//ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/jquery-ui.min.js');
});
head.ready(function() {
$(document).ready(function() {
$('.class').show();
});
});
我找到了一個使用head.ready
而不是$(document).ready
解決方案,但是由於head.ready(function() {...});
的部分,我無法使用此解決方案head.ready(function() {...});
來自與不使用headjs的平台共享的代碼。
是否有人遇到此問題或有解決方案?
我的猜測是有比賽條件。 您可能希望先准備好檢查文檔是否已經處於就緒狀態,因為document.ready
不會觸發
head.ready(function() {
var readyfunc = function(){
$('.class').show();
};
if (document.readyState === 'complete'){
readyfunc();
}else{
$(document).ready(function() {
readyfunc();
});
}
}
看看是否可行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.