jQuery синхронно запускает пользовательское событие?

Я использую триггерный метод jQuery для вызова события ... но он ведет себя противоречиво. Иногда это называют событием, иногда нет.

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

custom-event к нему добавлено много слушателей. Это как если бы метод триггера не был синхронным, позволяяwindow.location.href быть изменено перед выполнением событий. И когда window.location.href изменяется, происходит навигация, прерывающая все.

Как я могу запускать события синхронно?

Использование jQuery 1.8.1.

Спасибо!

РЕДАКТИРОВАТЬ

Я обнаружил, что событие, когда вызывается, имеет трассировку стека, как это:

jQuery.fx.tick (jquery-1.8.1.js: 9021)галочка (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)

Это доказывает, что JQuerytrigger Метод асинхронный. (Я был неправ ... это только доказывает, что событие, которое я вызывал, имело анимацию внутри, и вызывало ожидаемую функцию внутри функции обратного вызова после анимации)

Ответы на вопрос(2)

Ваш ответ на вопрос