您可以这样做:
$(function() { $(window).bind('beforeunload', function() { setTimeout(function() { setTimeout(function() { $(document.body).css('background-color', 'red'); }, 1000); },1); return 'are you sure'; });});第
setTimeout一种方法中的代码具有1ms的延迟。这只是将函数添加到中
UIqueue。由于
setTimeout异步运行,因此Javascript解释器将继续通过直接调用该
return语句来继续,从而触发浏览器
modaldialog。这将阻止
UIqueue和,从第一个开始的代码将
setTimeout不执行,直到关闭模式。如果用户按下“取消”,它将触发另一个setTimeout,它会在大约一秒钟后触发。如果用户单击确定确认,则用户将重定向并且永不触发第二个setTimeout。



