Pregunta

Estoy teniendo una gran cantidad de código JavaScript en mi página y estoy usando Typekit. Con el fin de hacer mi trabajo correctamente la página (rejilla y esas cosas) que estoy usando los nuevos eventos de fuentes Typekit.

Es simplemente una instrucción try y catch que comprueba si las fuentes se cargan o no. Sin embargo por alguna razón no estoy consiguiendo. Voy a llamar a la función setGrid() si se cargan las fuentes Typekit, pero por ejemplo, iPad o iPhone no soporta que aún y por eso mi página no se muestra correctamente cuando no llamar a la función setGrid().

De todos modos, quiero llamar a la función en el estado de error, así que si la página se llama en el iPhone, la página funciona sin fuentes web también.

try {
 Typekit.load({
  loading: function() { },
  active: function() { setGrid(); },
  inactive: function() { }
 })
} catch(e) {
 alert('error'); //works
 setGrid(); //doesn't get called
}

Sin embargo, las obras alert, la función setGrid() no recibe llamada. Algunas ideas?

editar: las miradas de función así:

var setGrid = function () {
 $('#header, #footer').fadeIn(500);
 return $("#grid").vgrid({
  easeing: "easeOutQuint",
  time: 800,
  delay: 60
 });
};
¿Fue útil?

Solución

Trate de lo que es la función "real", como esto:

function setGrid() {
  $('#header, #footer').fadeIn(500);
  return $("#grid").vgrid({
    easeing: "easeOutQuint",
    time: 800,
    delay: 60
  });
};

Otros consejos

La función se consiga llamar, pero simplemente no funciona como se esperaba que te hace pensar que no está recibiendo llamadas. Se puede ver que cada vez es llamado por la adición de una alerta como la primera línea de setGrid.

enlace jsFiddle

¿Puede usted:

  • try / catch alrededor setGrid, también
  • alert después setGrid para confirmar que se está haciendo a través setGrid
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top