我的一些用户在打字时不小心按下了 F5,导致他们丢失了所有输入的内容。我不需要阻止点击“刷新”按钮。
我尝试使用以下 JavaScript,但它仅在用户不关注 Silverlight 应用程序时才有效(即,当用户单击 SL 应用程序之外的某处时它才有效,但当用户关注 SL)。
document.onkeydown=function(e) {
var event = window.event || e;
if (event.keyCode == 116) {
event.keyCode = 0;
alert("test");
return false;
}
}
最佳答案
处理这种情况的最佳方法可能是使用 onbeforeunload event并要求用户确认。这样您就可以从合法的刷新或关闭选项卡中根除意外刷新或关闭的选项卡,而无需处理所有可能的快捷方式。
window.onbeforeunload = function(e) {
return 'Are you sure you want to leave without saving your changes?';
};
您甚至可以仅在有一些未保存的更改时显示确认对话框。
关于javascript - 在 Silverlight 中禁用 F5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15296692/