jQuery: catch try {} fonction d'appel ne fonctionne pas?
-
26-09-2019 - |
Question
Je vais avoir beaucoup de JavaScript sur ma page et je l'utilise Typekit. Afin de faire correctement mon travail de page (grille et d'autres choses) J'utilise les nouveaux événements de police Typekit.
Il est tout simplement une déclaration de try et catch qui vérifie si les polices sont bien chargées ou non. Mais de toute façon je ne suis pas l'obtenir. J'appelle la fonction setGrid()
si les polices Typekit sont chargées, mais par exemple iPad ou iPhone ne fonctionne pas encore et si ma page ne soit pas correctement affiché lorsque je ne l'appelle pas la fonction setGrid()
.
Quoi qu'il en soit, je veux appeler la fonction dans l'instruction d'erreur et, donc si la page est appelée sur l'iPhone, la page fonctionne sans WebFonts ainsi.
try {
Typekit.load({
loading: function() { },
active: function() { setGrid(); },
inactive: function() { }
})
} catch(e) {
alert('error'); //works
setGrid(); //doesn't get called
}
Cependant, les travaux de alert
, la fonction setGrid()
ne soit pas appelé.
Toutes les idées?
edit: le look de fonction comme ça:
var setGrid = function () {
$('#header, #footer').fadeIn(500);
return $("#grid").vgrid({
easeing: "easeOutQuint",
time: 800,
delay: 60
});
};
La solution
Essayez de le faire fonctionner "vrai", comme ceci:
function setGrid() {
$('#header, #footer').fadeIn(500);
return $("#grid").vgrid({
easeing: "easeOutQuint",
time: 800,
delay: 60
});
};
Autres conseils
La fonction ne s'appelle, mais ça ne fonctionne pas comme prévu, vous obligeant à penser que ce n'est pas appelé. Vous pouvez voir qu'il s'appelle en ajoutant une alerte comme la première ligne de setGrid.
Pouvez-vous:
- try / catch autour
setGrid
aussi -
alert
après setGrid pour le confirmer devient parsetGrid