[英]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.