我尝试在用户必须单击保存按钮的页面上执行安全性操作。 因此,当用户点击好的部分没有问题,但如果他做了修改并点击其他部分(导航栏),确认似乎说他没有保存。
$(document).mouseup(function (e)
{
var container = $(".col-md-12");
if (!container.is(e.target) && container.has(e.target).length === 0 )
{
if (sessionStorage['Sort'])
{
var r = confirm("Disposition non sauvegardée ! Continuer ?");
}
}
});
我将sessionStorage用于其他函数并在用户进行修改时填充它,以便在" if"中使用它。
它可以正常工作,但如果用户点击导航栏中的某个类别,则会显示确认,如果他点击了"取消"他进入了这个类别。
这就是为什么我想在确认在这里时禁用事件的原因。如果他点击取消,则用户必须保持在同一页面上。 你有想法禁用所有其他事件吗?
答案 0 :(得分:2)
您是否尝试过onbeforeunload功能?
窗口即将卸载其资源时触发的事件。该文档仍然可见,事件仍然可以取消。
一个例子:
window.onbeforeunload = function(e) {
if (unsavedChanges) return 'Dialog text here.';
};
答案 1 :(得分:1)
您可以添加一个对话框,以防止用户在流程运行时采取行动。
以下是此
的示例HTML部分
<div
id="waitScreen"
style="background-color:black;
color:white;
font-weight:bold;
font-size:1.5em;
border: 5px solid red;">
Processing Request, please wait...
</div>
jQuery部分
var modalWait = $("#waitScreen").dialog({
modal: true,
closeOnEscape: false,
draggable: false,
resizable: false,
dialogClass: 'no-title'
});
$(".ui-dialog-titlebar").hide();
然后您可以在处理完成后关闭它。
modalWait.dialog("close");