¿Cómo continuar la propagación de eventos después de cancelar?

Cuando un usuario hace clic en cierto enlace, me gustaría presentarles un cuadro de diálogo de confirmación. Si hacen clic en "Sí", me gustaría continuar con la navegación original. Un inconveniente: mi diálogo de confirmación se implementa devolviendo un jQuery. Objeto diferido que se resuelve solo cuando / si el usuario hace clic en el botón Sí. Entonces, básicamente, el diálogo de confirmación es asíncrono.

Así que básicamente quiero algo como esto:

$('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
    })
})

Por supuesto, podría establecer una bandera y volver a activar el clic, pero eso es desordenado como diablos. ¿Alguna forma natural de hacer esto?

Respuestas a la pregunta(7)

Su respuesta a la pregunta