Você deseja executar algum código JS depois que o visitante clicar no botão ‘Permanecer nesta página’ em um modal onbeforeunload?
Eu encontrei um hack muito bom para fazer isso. Ele empurra o código no próximo ciclo da IU usando setTimeout, que é executado assim que o modal fecha e a execução é retomada:
$(function() {
$(window).bind('beforeunload', function() {
setTimeout(function() {
setTimeout(function() {
$(document.body).css('background-color', 'red');
}, 1000);
},1);
return 'are you sure';
});
});
Assista ao vivo aqui .