У мене є проблема з використанням jQuery $(document).ready
і headjs framework 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() {...});
виходить з коду, спільного з платформами, які не використовують headjs.
Хто-небудь коли-небудь зіткнувся з цією проблемою або має рішення?
Відповіді:
0 для відповіді № 1Я здогадуюсь, що є расова умова. Можливо, ви захочете перевірити, чи є документ вже готовим у голові, оскільки document.ready
перемогла
head.ready(function() {
var readyfunc = function(){
$(".class").show();
};
if (document.readyState === "complete"){
readyfunc();
}else{
$(document).ready(function() {
readyfunc();
});
}
}
Подивіться, чи це працює.