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