`

Extjs 禁止使用键盘回退刷新

阅读更多
在 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;}">  


分享到:
评论

相关推荐

    Extjs学习过程中写软键盘的列子~

    本例中,我们关注的是如何在ExtJS中实现一个软键盘。 首先,`testSoftKey.html`是主页面,它包含了ExtJS的库文件和我们的应用程序代码。在这个HTML文件中,开发者通常会引入ExtJS的CDN链接或本地库文件,并创建一个...

    Extjs软键盘带中文输入

    5. **兼容性和性能优化**:考虑到不同浏览器和设备的差异,需要对软键盘组件进行兼容性测试,并进行必要的性能优化,确保在各种环境下都能流畅使用。 6. **用户体验**:为了提升用户体验,可以添加诸如自动补全、...

    Extjs4 Grid分页与自动刷新

    ### Extjs4 Grid分页与自动刷新 #### 一、Extjs4 Grid 分页功能实现 在使用Extjs4进行Web应用开发时,Grid控件是常用的数据展示组件之一。对于大数据量的情况,通常需要使用分页来提高用户体验。下面详细介绍如何...

    Extjs4 treePanel节点刷新JS函数

    完美的Extjs4 treePanel节点刷新,函数为自动刷新选中的节点.API看得头疼才别出来的代码.截止我发之前,好像没有谁共享这个功能的函数吧.

    extjs4.2.1 tabPanel刷新及关闭标签

    ### ExtJS 4.2.1 TabPanel 刷新与关闭标签功能详解 #### TabPanel 组件简介 在ExtJS框架中,`TabPanel`组件是一个非常实用且强大的UI控件,它允许用户在一个界面上组织多个相关的视图或面板,并通过标签页的形式...

    EXTJS定时刷新功能代码

    ### EXTJS定时刷新功能代码详解 #### 一、概述 在Web开发中,为了实现实时数据更新,经常需要使用定时器技术来周期性地刷新数据。EXTJS作为一个强大的前端框架,提供了丰富的组件和API来简化开发过程。本文将详细...

    Extjs4使用要点个人整理

    2. **按钮(Button)的用法**:`EXTjs button用法.doc`将详细介绍如何创建和使用ExtJS 4的按钮组件,包括设置按钮文本、图标、事件监听器以及使用不同类型的按钮,如工具栏按钮、菜单按钮等。 3. **表单(Form)...

    extjs My97使用 extjs时间 extjs日期使用

    extjs4.0结合My97DatePicker4.7版本使用 使用简单 方便 解决extjs中日期控件不能显示时间的问题 下载后将其放到extjs目录的examples下 直接运行date.html即可 extjs4.0版本 4.0以前的版本没有测试过 如果有4.0版本...

    extjs中使用FusionChart举例

    extjs中使用FusionChart举例

    ExtJS静态使用示例

    ExtJS是一种广泛应用于Web开发的...总的来说,"ExtJS静态使用示例"提供了一个学习和实践ExtJS基础功能的机会,通过Grid、Panel和Tree的使用,可以帮助开发者掌握如何在Web应用中构建交互性和功能性丰富的用户界面。

    extjs案例使用详解

    众多的案例详细介绍了extjs的使用和实现效果

    extJs3升级extjs4方案

    在 ExtJS3 中,我们可以使用 Ext.extend 来定义类,而在 ExtJS4 中,我们需要使用 Ext.define 来定义类。例如,在 ExtJS3 中,我们可以使用以下代码来定义一个类: ```javascript Ext.ux.PostStore = Ext.extend...

    extjs4+servlet+json+soundmanager2实现定时刷新报警(原创)

    标题 "extjs4 + servlet + json + soundmanager2 实现定时刷新报警" 涉及的是一个基于Web的实时报警系统开发技术,其中包含了多个关键组件和技术。让我们逐一深入探讨这些知识点。 1. **EXTJS4**:EXTJS是一个用...

    aspnet extjs 使用范例

    在实际开发中,ASP.NET中的控件和EXTJS的组件可以通过Ajax进行通信,实现页面无刷新更新。ASP.NET MVC或者WebAPI可以作为服务器端的数据接口,为EXTJS提供JSON格式的数据。EXTJS通过AJAX请求这些接口,获取或提交...

    Extjs4.1 小例子(适合extjs初学者学习使用)

    通过这些小例子,你可以了解如何使用ExtJS 4.1来创建用户界面,包括布局管理、组件系统、数据绑定、事件处理等核心概念。 描述中提到的".直接导入myeclipse即可",意味着这些示例代码是用Eclipse的MyEclipse插件...

    ExtJS教程_完整版

    ExtJS还支持在不刷新页面的情况下进行数据交互,利用AJAX技术从服务器异步获取或提交数据。 ### ExtJS的版本和兼容性 ExtJS的发展经历了多个版本,从1.x到2.x,再到3.x。每一个新版本都是对旧版本的重构和增强,...

    extjs2----关于extjs 的使用,操作

    在标题"extjs2----关于extjs 的使用,操作"中,我们可以看出这是一份关于ExtJS 2.0版本的使用指南,主要涵盖了其基本操作和应用。描述中提到内容较为初级,适合初学者学习,这表明我们将探讨的是ExtJS的基础概念和...

    extjs4.2 desktop 拓展

    ExtJS 4.2 Desktop 拓展是一个用于构建桌面样式的Web应用程序的框架,它提供了丰富的用户界面组件和交互效果。这个拓展是基于ExtJS 4.2版本,一个非常强大的JavaScript库,用于创建数据驱动、富客户端的Web应用。在...

    extjs4.2 desktop mvc

    EXTJS 4.2 Desktop MVC 是一个基于EXTJS 4.2版本的桌面应用程序框架,它结合了MVC(Model-View-Controller)设计模式,为开发者提供了构建富客户端桌面应用的强大工具。EXTJS是一个流行的JavaScript库,专门用于创建...

    JSON 配合EXTJS的使用,所有的JAR包和使用代码,在做EXTJS无刷新界面时很有用,希望能有帮助

    EXTJS支持无刷新界面,即用户在操作界面时,页面内容可以实时更新,而无需重新加载整个页面,这极大提升了用户体验。 JSON与EXTJS结合使用,通常涉及到以下几个核心知识点: 1. **数据模型(Model)**:EXTJS中的...

Global site tag (gtag.js) - Google Analytics