jQuery uruchamia synchronicznie zdarzenie niestandardowe?

Korzystam z metody wyzwalacza jQuery, aby wywołać zdarzenie ... ale zachowuje się niespójnie. Czasami nazywa to wydarzenie, czasem nie.

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

Thecustom-event ma dodanych wielu słuchaczy. To tak, jakby metoda wyzwalania nie była synchroniczna, pozwalając nawindow.location.href zostać zmienione przed wykonaniem zdarzeń. A po zmianie window.location.href następuje nawigacja, przerywając wszystko.

Jak mogę synchronicznie wyzwalać zdarzenia?

Korzystanie z jQuery 1.8.1.

Dzięki!

EDYTOWAĆ

Odkryłem, że zdarzenie, gdy jest wywołane, ma taki ślad:

jQuery.fx.tick (jquery-1.8.1.js: 9021)tick (jquery-1.8.1.js: 8499)jQuery.Callbacks.self.fireWith (jquery-1.8.1.js: 1082)jQuery.Callbacks.fire (jquery-1.8.1.js: 974)jQuery.speed.opt.complete (jquery-1.8.1.js: 8991)$ .customEvent (myfile.js: 28)

To dowodzi, że jQuerytrigger metoda jest asynchroniczna. (Myliłem się ... to tylko dowodzi, że zdarzenie, które wywołałem, miało animację wewnątrz i wywołało oczekiwaną funkcję wewnątrz wywołania zwrotnego po animacji)

questionAnswers(2)

yourAnswerToTheQuestion