Ext JS框架程序中阻止鍵盤觸發(fā)回退或者刷新頁面的代碼分享
更新時間:2016年06月07日 18:18:16 作者:chamcon
鍵盤上的F5或者退格鍵等按鍵一般來說會觸發(fā)頁面的后退或者刷新事件,然而這些在前端用代碼是可以給屏蔽掉的,這里我們就來看一下Ext JS框架程序中阻止鍵盤觸發(fā)回退或者刷新頁面的代碼分享
在 Extjs 開發(fā)中,我們需要屏蔽一些鍵盤按鍵,來避免用戶在使用鍵盤操作的過程中不小心按到這些快捷鍵造成輸入信息丟失等問題.
Ext.onReady(function(){ Ext.WindowMgr.zseed = 10000; Ext.QuickTips.init(); Ext.getDoc().on("contextmenu", function(e){ e.stopEvent(); }); if(document.addEventListener){ document.addEventListener("keydown",maskBackspace, true); }else{ document.attachEvent("onkeydown",maskBackspace); } function maskBackspace(event){ var event = event || window.event; //標(biāo)準(zhǔn)化事件對象 var obj = event.target || event.srcElement; var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode; if(keyCode == 8){ if(obj!=null && obj.tagName!=null && (obj.tagName.toLowerCase() == "input" || obj.tagName.toLowerCase() == "textarea")){ event.returnValue = true ; if(Ext.getCmp(obj.id)){ if(Ext.getCmp(obj.id).readOnly) { if(window.event) event.returnValue = false ; //or event.keyCode=0 else event.preventDefault(); //for ff } } }else{ if(window.event) event.returnValue = false ; // or event.keyCode=0 else event.preventDefault(); //for ff } } } var map = new Ext.KeyMap(document, [ { key: [116], // F5 fn: function(){ }, stopEvent: true, scope: this },{ key: [37,39,115], //方向鍵左,右,F4 alt: true, fn: function(){ }, stopEvent: true, scope: this }, { key: [82], // ctrl + R ctrl: true, fn: function(){ }, stopEvent: true, scope: this }]); map.enable(); });
禁止在IE8中使用 F5 刷新還需加上代碼 :
<body onkeydown="if(event.keyCode==116){event.keyCode=0;return false;}">
相關(guān)文章
常用Extjs工具:Extjs.util.Format使用方法
常用Extjs工具:Extjs.util.Format使用方法,需要的朋友可以參考下2012-03-03Extjs中的GridPanel隱藏列會顯示在menuDisabled中解決方法
在Extjs中的GridPanel會有這樣的情況,隱藏列會顯示在menuDisabled中,但是這個一般沒有什么用處,只是用于后臺取值的作用,感興趣的朋友可以了解下啊,希望本文對你有所幫助2013-01-01Extjs學(xué)習(xí)過程中新手容易碰到的低級錯誤積累
新手在學(xué)習(xí)Extjs過程中的低級錯誤積累2010-02-02Extjs學(xué)習(xí)筆記之一 初識Extjs之MessageBox
去官網(wǎng)下載好extjs的壓縮包,解壓縮之后得到如下目錄結(jié)構(gòu)。2010-01-01ExtJS Ext.MessageBox.alert()彈出對話框詳解
Ext.MessageBox是一個工具類,他繼承自O(shè)biect對象,用來生成各種風(fēng)格的信息提示對話框,Ext.Msg是該類的別名,使用Ext.MessageBox和用Ext.Msg效果是一樣的,而后者提供了更簡單的方式。2010-04-04ExtJS下 Ext.Direct加載和提交過程排錯小結(jié)
基礎(chǔ)夯實一點,會有好處的,排錯的時候就體現(xiàn)出來了,下面就Ext.Direct做一些排錯筆記與大家一一分享,感興趣的朋友可以參考下哈2013-04-04