jQuery déclencheur d'événement personnalisé de façon synchrone?

Je suis à l'aide de jQuery déclencher la méthode à appeler un événement... mais il se comporte de façon incohérente. Parfois, il appel le cas, parfois ça ne marche pas.

<a href="#" onclick="
    $(this).trigger('custom-event');
    window.location.href = 'url';
    return false;
">text</a>

La custom-event a beaucoup d'auditeurs ajouté.
C'est comme si le déclencheur méthode n'est pas synchrone, permettant à la window.location.href être changé avant d'exécuter les événements. Et lorsque la fenêtre.emplacement.href changé de navigation se produit, interrompant tout.

Comment puis-je déclencher des événements de manière synchrone?

À l'aide de jQuery 1.8.1.

Merci!

MODIFIER

J'ai trouvé que l'événement, lorsqu'on a une trace de la pile comme ceci:

  1. jQuery.fx.tique (jquery-1.8.1.js:9021)
  2. tique (jquery-1.8.1.js:8499)
  3. jQuery.Les rappels.auto.fireWith (jquery-1.8.1.js:1082)
  4. jQuery.Les rappels.feu (jquery-1.8.1.js:974)
  5. jQuery.vitesse.opt.complet (jquery-1.8.1.js:8991)
  6. $.customEvent (myfile.js:28)

Cela prouve que jQuery trigger méthode est asynchrone. (j'ai eu tort... cela prouve seulement que l'événement que j'étais d'appel, avait une animation à l'intérieur, et a été l'appel de la fonction prévue à l'intérieur de la fonction de rappel après l'animation)

OriginalL'auteur Miguel Angelo | 2012-11-12