Domanda

Sto avendo un sacco di JavaScript sulla mia pagina e sto usando Typekit. Al fine di rendere il mio lavoro pagina correttamente (griglia e roba) Sto utilizzando i nuovi eventi di carattere Typekit.

E 'semplicemente un'istruzione try e catch che controlla se i caratteri vengono caricate o meno. Tuttavia in qualche modo Non ricevo esso. Sto chiamando la funzione setGrid() se i caratteri Typekit vengono caricati, ma per esempio iPad o iPhone non supporta ancora e così la mia pagina non viene correttamente dimostrato che quando io non chiamo la funzione setGrid().

In ogni caso, voglio chiamare la funzione nella dichiarazione errore come bene, quindi se la pagina si chiama su iPhone, la pagina funziona senza webfonts pure.

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

Tuttavia, i lavori alert, la funzione setGrid() non ottiene chiamato. Tutte le idee?

modifica: gli sguardi funzione del genere:

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

Soluzione

Prova il che rende la funzione "reale", in questo modo:

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

Altri suggerimenti

La funzione venga chiamata, ma semplicemente non funziona come vi aspettavate che ti fa pensare che non è sempre chiamato. Si può vedere che è sempre chiamato con l'aggiunta di un avviso come la prima linea di setGrid.

collegamento jsfiddle

Can voi:

  • try / catch intorno setGrid, troppo
  • alert dopo setGrid per confermare la cosa si fa attraverso setGrid
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top