Javascript 如何在离开当前页面之前触发与JS的对话

Javascript 如何在离开当前页面之前触发与JS的对话,javascript,Javascript,当用户更改了表单中的某些内容,然后单击任何链接将其指向另一个页面时,我希望触发一个带有“离开前是否保存?”选项的弹出窗口 我该怎么做 这是可以做到的,但这并不总是可靠的: <html> <head> <script type="text/javascript"> function leaving() { if(confirm("Would you like to save?")) { //Save info }

当用户更改了表单中的某些内容,然后单击任何链接将其指向另一个页面时,我希望触发一个带有“离开前是否保存?”选项的弹出窗口


我该怎么做

这是可以做到的,但这并不总是可靠的:

<html>
<head>
<script type="text/javascript">
function leaving()
 {
    if(confirm("Would you like to save?"))
     {
        //Save info
     }
    else
     {
        //Don't save
     }
 }
</script>
</head>
<body onUnload="leaving()">
<!--Stuff-->
</body>
</html>

函数离开()
{
如果(确认(“是否要保存?”)
{
//保存信息
}
其他的
{
//不要存钱
}
}
示例:

 <script type="text/javascript">
     var shouldConfirm = false;
     window.onbeforeunload = function() {
         if(shouldConfirm) {
             return "You have made unsaved changes. Would you still like to leave this page?";
         }
     }
 </script>

 <input id="FullName" type="text" />
 <script type="text/javascript">
     document.getElementById('FullName').onchange = function() {
         shouldConfirm = true;
     }
 </script>

var shouldConfirm=false;
window.onbeforeunload=函数(){
如果(应确认){
return“您进行了未保存的更改。是否仍要离开此页面?”;
}
}
document.getElementById('FullName')。onchange=function(){
shouldConfirm=true;
}
网站上有一篇完整的文章