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


Posted in Javascript onJune 07, 2016

在 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;}">
Javascript 相关文章推荐
csdn 批量接受好友邀请
Feb 19 Javascript
浅谈Javascript嵌套函数及闭包
Nov 09 Javascript
基于jquery实现的一个选择中国大学的弹框 (数据、步骤、代码)
Jul 26 Javascript
纯javascript实现的小游戏《Flappy Pig》实例
Jul 27 Javascript
jQuery基于cookie实现的购物车实例分析
Dec 24 Javascript
jquery ajax局部加载方法详解(实现代码)
May 12 Javascript
jQuery实现打开页面渐现效果示例
Jul 27 Javascript
Bootstrap模态框案例解析
Mar 05 Javascript
js 用于检测类数组对象的函数方法
May 02 Javascript
angular.js指令中的controller、compile与link函数的不同之处
May 10 Javascript
微信小程序实现手势滑动效果
Aug 26 Javascript
vue 动态创建组件的两种方法
Dec 31 Vue.js
JavaScript基础语法之js表达式
Jun 07 #Javascript
JavaScript必看小技巧(必看)
Jun 07 #Javascript
通过正则表达式获取url中参数的简单实现
Jun 07 #Javascript
点击按钮出现60秒倒计时的简单js代码(推荐)
Jun 07 #Javascript
javascript显示倒计时控制按钮的简单实现
Jun 07 #Javascript
基于jQuery下拉选择框插件支持单选多选功能代码
Jun 07 #Javascript
jQuery原理系列-css选择器的简单实现
Jun 07 #Javascript
You might like
供参考的 php 学习提高路线分享
2011/10/23 PHP
解析百度搜索结果link?url=参数分析 (全)
2012/10/09 PHP
Laravel 5 框架入门(一)
2015/04/09 PHP
php使用Jpgraph绘制3D饼状图的方法
2015/06/10 PHP
laravel开发环境homestead搭建过程详解
2020/07/03 PHP
Prototype源码浅析 String部分(四)之补充
2012/01/16 Javascript
js确定对象类型方法
2012/03/30 Javascript
jquery获得同源iframe内body下标签的值的方法
2014/09/25 Javascript
js使用心得分享
2015/01/13 Javascript
js兼容火狐显示上传图片预览效果的方法
2015/05/21 Javascript
微信小程序 图片上传实例详解
2017/05/05 Javascript
微信小程序中时间戳和日期的相互转换问题
2018/07/09 Javascript
JavaScript 类的封装操作示例详解
2020/05/16 Javascript
vue移动端弹起蒙层滑动禁止底部滑动操作
2020/07/22 Javascript
React实现评论的添加和删除
2020/10/20 Javascript
python中xrange和range的区别
2014/05/13 Python
python中的五种异常处理机制介绍
2014/09/02 Python
Python中使用Tkinter模块创建GUI程序实例
2015/01/14 Python
python安装教程 Pycharm安装详细教程
2017/05/02 Python
Python编程pygal绘图实例之XY线
2017/12/09 Python
删除python pandas.DataFrame 的多重index实例
2018/06/08 Python
Python操作redis和mongoDB的方法
2019/12/19 Python
使用Python实现Wake On Lan远程开机功能
2020/01/22 Python
python神经网络编程实现手写数字识别
2020/05/27 Python
tensorflow2.0教程之Keras快速入门
2021/02/20 Python
英国珠宝钟表和家居礼品精品店:David Shuttle
2018/02/24 全球购物
通信专业个人自我鉴定
2013/10/21 职场文书
高中生毕业自我鉴定范文
2013/12/22 职场文书
高中军训感言400字
2014/02/24 职场文书
机关干部个人对照检查材料思想汇报
2014/09/28 职场文书
个人年终总结怎么写
2015/03/09 职场文书
2015财务年终工作总结范文
2015/05/22 职场文书
nginx对http请求处理的各个阶段详析
2021/03/31 Servers
Python爬虫实战之爬取携程评论
2021/06/02 Python
Python中常见的反爬机制及其破解方法总结
2021/06/10 Python
java调用Restful接口的三种方法
2021/08/23 Java/Android