AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > JavaScript

Ext JS框架程序中阻止键盘触发回退或者刷新页面的代码分享

51自学网 http://www.wanshiok.com
Ext,JS,回退,刷新,后退

在 Extjs 开发中,我们需要屏蔽一些键盘按键,来避免用户在使用键盘操作的过程中不小心按到这些快捷键造成输入信息丢失等问题.

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; //标准化事件对象          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;}">  


Ext,JS,回退,刷新,后退  
上一篇:jQuery封装的屏幕居中提示信息代码  下一篇:JavaScript基础语法之js表达式