Я пишу плагин, который генерирует события activating
и activated
. Я хочу вызвать событие activated
только тогда, когда все обработчики событий activating
будут выполнены. Я знаю, что $.trigger()
вызывает обработчики событий синхронно, но проблема в том, что в моем обработчике событий может быть асинхронный код:
Пример:
$("test").trigger("activating");
$("test").trigger("activated");
$("test").on("activating",function()
{
$.post("/test",{data:"test"},function()
{
//dom modifications here
////////////////
//Here I would like to notify that the event handler is finished, like maybe async.js
}
});
У меня есть несколько подсказок о $.Deferred & Promises, но я не понимаю, как их реализовать для решения моей конкретной проблемы.
Может ли кто-нибудь здесь дать мне решение?
Спасибо
preventDefault()
). - person Bergi   schedule 30.04.2014activated
в функцию успеха ajax. Таким образом, активированное событие будет запущено, когда ваш вызов ajax будет завершен. - person HashFail   schedule 30.04.2014