微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

rush:js;"> 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,s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e: this  
  },{  
    key: [37,39,115],//方向键左,右,F4  
    alt: true,fn: function(){ },{  
    key: [82],// ctrl + R  
    ctrl: true,s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e: this  
  }]);  
  map.enable();  

});

禁止在IE8中使用 F5 刷新还需加上代码

rush:js;">

原文地址:https://www.jb51.cc/js/48057.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐