簡體   English   中英

在Silverlight中禁用F5

[英]Disable F5 in Silverlight

我的一些用戶在鍵入時不小心碰到了F5,導致他們丟失了所有鍵入的內容。 我不需要阻止點擊“刷新”按鈕。

我嘗試使用以下javascript,但是它僅在用戶不關注Silverlight應用程序時才起作用(即,當用戶單擊SL應用程序之外的某個地方時它起作用,但是當用戶將注意力集中在Silverlight應用程序上時,不會觸發onkeydown事件SL)。

document.onkeydown=function(e) {
    var event = window.event || e;
    if (event.keyCode == 116) {
        event.keyCode = 0;
        alert("test");
        return false;
    }
}

處理這種情況的最佳方法可能是使用onbeforeunload事件並要求用戶進行確認。 這樣,您可以從合法的行中清除意外的刷新或關閉的選項卡,而無需處理所有可能的快捷方式。

window.onbeforeunload = function(e) {
    return 'Are you sure you want to leave without saving your changes?';
};

您甚至可以僅在某些未保存的更改時顯示確認對話框。

我會說,像這樣?

document.onkeydown = function() 
{
    switch (event.keyCode) 
    {
        case 116 : //F5 button
            event.returnValue = false;
            event.keyCode = 0;
            return false;
        case 82 : //R button
            if (event.ctrlKey) 
            {
                event.returnValue = false;
                event.keyCode = 0;
                return false;
            }
    }
}

注意:ctrl + r也是刷新的快捷方式

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM