jQuery: tente capturar {chall function} não funciona?
-
26-09-2019 - |
Pergunta
Estou tendo muito javascript na minha página e estou usando o TypeKit. Para fazer minha página funcionar corretamente (grade e outras coisas), estou usando os novos eventos de fonte do TypeKit.
É simplesmente uma declaração de tentar ver que verifica se as fontes são carregadas ou não. No entanto, de alguma forma eu não estou entendendo. Estou ligando para o setGrid()
função se as fontes typekit estiverem carregadas, mas por exemplo, iPad ou iPhone ainda não suporta isso e, portanto, minha página não é mostrada corretamente quando eu não chamo o setGrid()
função.
De qualquer forma, também quero chamar a função na instrução ERRO, portanto, se a página for chamada no iPhone, a página também funcionará sem webfonts.
try {
Typekit.load({
loading: function() { },
active: function() { setGrid(); },
inactive: function() { }
})
} catch(e) {
alert('error'); //works
setGrid(); //doesn't get called
}
No entanto, o alert
trabalha, o setGrid()
A função não é chamada. Alguma ideia?
Editar: a função se parece com isso:
var setGrid = function () {
$('#header, #footer').fadeIn(500);
return $("#grid").vgrid({
easeing: "easeOutQuint",
time: 800,
delay: 60
});
};
Solução
Tente fazê -lo função "real", assim:
function setGrid() {
$('#header, #footer').fadeIn(500);
return $("#grid").vgrid({
easeing: "easeOutQuint",
time: 800,
delay: 60
});
};
Outras dicas
A função é chamada, mas simplesmente não funciona como você esperava, fazendo com que você pense que não está sendo chamado. Você pode ver que está sendo chamado adicionando um alerta como a primeira linha do setGrid.
Você pode:
- Experimente/pegue
setGrid
, também alert
depois do setGrid para confirmar que está passandosetGrid