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?

questionAnswers(7)

yourAnswerToTheQuestion