Como continuar a propagação de eventos após o cancelamento?
Quando um usuário clica em um determinado link, eu gostaria de apresentar uma caixa de diálogo de confirmação. Se eles clicarem em "Sim", eu gostaria de continuar a navegação original. Um problema: minha caixa de diálogo de confirmação é implementada retornando um objeto jQuery.Deferred que é resolvido apenas quando / se o usuário clicar no botão Sim. Então, basicamente, a caixa de diálogo de confirmação é assíncron
Então, basicamente, eu quero algo parecido com isto:
$('a.my-link').click(function(e) {
e.preventDefault(); e.stopPropogation();
MyApp.confirm("Are you sure you want to navigate away?")
.done(function() {
//continue propogation of e
})
})
Claro que eu poderia definir um sinalizador e acionar novamente o clique, mas isso é uma bagunça. Alguma maneira natural de fazer isso?