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
Метод асинхронный. (Я был неправ ... это только доказывает, что событие, которое я вызывал, имело анимацию внутри, и вызывало ожидаемую функцию внутри функции обратного вызова после анимации)