Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我可以用“吗?”;window.onbeforeunload”的;在我的html文档中两次?_Javascript_Html_Onbeforeunload - Fatal编程技术网

Javascript 我可以用“吗?”;window.onbeforeunload”的;在我的html文档中两次?

Javascript 我可以用“吗?”;window.onbeforeunload”的;在我的html文档中两次?,javascript,html,onbeforeunload,Javascript,Html,Onbeforeunload,我正在创建一个HTML布局,用户可以通过使用“save”和“saveasdraft”resp填充数据并以HTML和JSON格式保存页面。我能用吗 window.onbeforeunload 在我的template.html文件中显示两条不同的警报消息 警报将显示: 当页面为空且用户试图转到加载其他页面时 当用户在布局中填充数据并试图离开布局而不保存时 就像以这种方式分配的任何其他事件处理程序一样,如果您再次设置它,它将销毁已经存在的任何处理程序 现在,如果您根据页面的状态添加和删除事件,那么

我正在创建一个HTML布局,用户可以通过使用“save”和“saveasdraft”resp填充数据并以HTML和JSON格式保存页面。我能用吗

window.onbeforeunload
在我的
template.html
文件中显示两条不同的警报消息

警报将显示:

  • 当页面为空且用户试图转到加载其他页面时
  • 当用户在布局中填充数据并试图离开布局而不保存时

就像以这种方式分配的任何其他事件处理程序一样,如果您再次设置它,它将销毁已经存在的任何处理程序


现在,如果您根据页面的状态添加和删除事件,那么这应该不是问题。否则,事情就复杂了一点。但是,对于
onbeforeunload
,最好只有一个。

就像以这种方式分配的任何其他事件处理程序一样,如果再次设置它,它将销毁已经存在的任何处理程序

现在,如果您根据页面的状态添加和删除事件,那么这应该不是问题。否则,事情就复杂了一点。但是,在卸载之前,最好只使用一个。

首先要了解如果使用两次会发生什么,然后是下面给出的想法

window.onbeforeunload=function()
{ 
    if(form_empty())
        return "Form is empty"; // message for empty form 
    else
        return "Form is not empty"; // message for filled up form 
}

function form_empty()
{
    // check form fields whether the form is empty or not
    // return true if form is empty
    // return false if form is not empty
}
首先,你要了解如果你使用它两次会发生什么,然后下面给出的想法

window.onbeforeunload=function()
{ 
    if(form_empty())
        return "Form is empty"; // message for empty form 
    else
        return "Form is not empty"; // message for filled up form 
}

function form_empty()
{
    // check form fields whether the form is empty or not
    // return true if form is empty
    // return false if form is not empty
}

我不确定你说的两次使用它是什么意思:onbeforeunload应该是一个函数,那么,为什么不在函数中使用一个条件语句来确定要显示哪条消息呢?请查看下面的答案,了解有关javascript事件绑定的更多一般信息以及用于执行此操作的各种方法:我不确定两次使用它是什么意思:onbeforeunload应该是一个函数,那么,为什么不在函数中使用一个条件语句来确定要显示哪条消息呢?请查看此答案,以了解有关javascript事件绑定和用于此操作的各种方法的更多一般信息: