javascript - 在 Silverlight 中禁用 F5

标签 javascript silverlight

我的一些用户在打字时不小心按下了 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/

相关文章:

Silverlight 问题 : Save in Jpeg format

javascript - react 中的 Mapbox(ReferenceError : L is not defined)

javascript - 有谁知道如何使图像出现然后消失?

javascript - 如何使 jQuery/Javascript 在 PHP 语句中工作?

c# - 更改已附加的事件处理程序运行时

wpf - 使用MVVM从数据库动态创建复选框

javascript - ExtJS 拖动事件监听器在 Chrome 和 Firefox 上的工作方式不同

javascript - 将复杂对象传递给 ui-sref 参数

silverlight - 当用户未在 Windows Phone 7 上登录 Facebook 时出现 HTTP 500 错误

jquery - 使用 jQuery 创建 Silverlight 容器 - 在 IE9 中不起作用