- 浏览: 594060 次
- 性别:
- 来自: 西安
文章分类
最新评论
-
青春依旧:
html5教学哪家强!当然要上华清远见!
深入理解浏览器兼容性模式 -
ashur:
真机智,看得我都笑自己了
js 字符串转dom 和dom 转字符串 -
panghaoyu:
实现一个智能提示功能需要ajax、数据库、jsp/php、算法 ...
solr第一弹 autocomplete(自动补全) -
FakLove:
连线如何删除啊
基于html5 的拖拽连线 -
FakLove:
连线可以再删除吗?
基于html5 的拖拽连线
用extjs做项目大部分都会用到一个组件combobox去实现联想框的功能,如果实现这个功能肯定是要用到事件机制的keyup
extjs为我们提供的keyup的事件,但是前提是要开启enableKeyEvents:true,打开键盘事件
非常奇怪的现象出现了,在监听其中测试事件,keyup始终就是没法fire ,同样的配置下去测试keydown,keypress都可以正确的fire ,没法获得keyup的事件就没有办法及时的获取文本框 的内容,这样的话如何实现联想框,这个问题困扰了我整整一天太悲剧了,最后在看一个国外网友的一段代码修改的extjs的keyup的bug
Ext.override(Ext.form.ComboBox, { initEvents : function(){ Ext.form.ComboBox.superclass.initEvents.call(this); this.keyNav = new Ext.KeyNav(this.el, { "up" : function(e){ this.inKeyMode = true; this.selectPrev(); }, "down" : function(e){ if(!this.isExpanded()){ this.onTriggerClick(); }else{ this.inKeyMode = true; this.selectNext(); } }, "enter" : function(e){ this.onViewClick(); this.delayedCheck = true; this.unsetDelayCheck.defer(10, this); }, "esc" : function(e){ this.collapse(); }, "tab" : function(e){ this.onViewClick(false); return true; }, scope : this, doRelay : function(foo, bar, hname){ if(hname == 'down' || this.scope.isExpanded()){ return Ext.KeyNav.prototype.doRelay.apply(this, arguments); } return true; }, forceKeyDown : true }); this.queryDelay = Math.max(this.queryDelay || 10, this.mode == 'local' ? 10 : 250); this.dqTask = new Ext.util.DelayedTask(this.initQuery, this); if(this.typeAhead){ this.taTask = new Ext.util.DelayedTask(this.onTypeAhead, this); } if((this.editable !== false) && !this.enableKeyEvents) { this.el.on("keyup", this.onKeyUp, this); } if(this.forceSelection){ this.on('blur', this.doForce, this); } }, onKeyUp : function(e){ if(this.editable !== false && !e.isSpecialKey()){ this.lastKey = e.getKey(); this.dqTask.delay(this.queryDelay); } Ext.form.ComboBox.superclass.onKeyUp.call(this, e); } });
没想到keyup还真的实现了
最终的联想效果如下图
顺便说一下,我用的是2.2版本的不知道3以上的版本keyup是不是有同样的问题
发表评论
-
浏览器事件是冒泡还是捕获
2016-07-27 16:37 3033这是三种事件处理的模型 (1)冒泡型事件:事件按照从最特定 ... -
javascript 编程反思1 new 原理
2016-04-27 14:05 0我们在定义对象的时候通常使用两种方式 1:通过new 关键 ... -
javascript 设计模式1 单例模式
2015-06-15 15:10 0... -
facebook html5开发app 失败的原因,
2015-06-08 11:56 1963Here’s why the Facebook iOS a ... -
jQuery zepto 用法区别
2015-05-22 11:50 0以前都是用jQuery 因为移动项目中在使用zepto 基本 ... -
js 加载机制和defer async用法
2015-05-15 17:45 0这是今天我一个 ... -
grunt 不是内部命令
2015-05-04 19:21 1464grunt 不是内部命令!! ... -
你不知道的URL中#井号用法
2015-02-10 12:36 7091URL 中 # 井号的用法 ... -
JS 伪数组原理详解
2014-12-01 11:24 2494jav ... -
jquery 滚动条插件nanoScroller 的用法
2014-11-27 11:17 5709scroller 插件nanoSc ... -
h5,hybrid 开发中问题汇总
2014-10-17 11:26 8219H5开发问题总结 和jqu ... -
backbone中的 reuter 和histroy
2014-10-13 10:45 631Router和History (路由控制) Back ... -
animate 技术分析 raphael
2014-07-28 16:40 0Animate 什么是animate,一般我 ... -
Raphaeljs 插件实现任意SVG节点加载
2014-07-14 09:26 8638SVG 和Raphael http://rap ... -
ECMAScript 5
2014-07-08 14:36 1062新版本在给基本库带来 ... -
jQueryUI Widget 代码详解
2014-07-07 12:20 0为什么需要研究JqueryUI 中Widget 的代码 ... -
typescript 用法介绍
2014-07-01 09:58 1239前言 Typescript的形態 如何定義va ... -
window.eval 与eval 区别
2014-06-27 10:57 1090它们之间有区别吗? 开发过程中似乎很少有人去加个额外的win ... -
jQuery 学习分析系列1 jQuery是个什么东西
2014-06-23 10:06 0jQuery 的基本结构 过去使用jQuery ... -
Sizzle 引擎--原理与实践3
2014-06-18 14:05 792Sizzle引擎--原理与实践(三) 查找的入口对 ...
相关推荐
extjs4.1修改bug版本,已修改数字、日期等多个控件的问题
例如,一个bug图标可能被命名为`x-fa fa-bug`,其中`x-fa`是ExtJS对FontAwesome库的引用,`fa-bug`则是FontAwesome中的bug图标代码。图标可以被添加到按钮、工具栏、面板标题等各个组件上,以增强用户体验和交互性。...
在EXTJS这个强大的JavaScript框架中,事件机制是其核心组件之一,它允许组件之间进行通信和交互。在“Extjs源码之--Ext事件机制/继承关系”中,我们将深入探讨EXTJS如何处理事件以及其类层次结构。EXTJS的事件处理...
这可能是由于ExtJS框架内部实现的变化或者某个特定版本中的Bug导致的。 #### 2. 解决方案建议 为了修复这个问题,可以考虑以下几种解决方案: - **修改代码逻辑**:尝试使用`this.up('window')`或`this.ownerWindow...
1. **事件监听与触发**:EXTJS中的每个组件都拥有自己的事件系统,可以通过`addListener`(或简写`on`)方法来监听事件,`fireEvent`方法来触发事件。例如: ```javascript var button = Ext.create('Ext.button....
本篇文章将深入讲解如何在ExtJs GridPanel中实现双击事件,并获取双击的行以及选中的复选框状态。 首先,我们要了解GridPanel的基本结构。GridPanel由Store(数据存储)和ColumnModel(列模型)组成,它们定义了...
本篇笔记将深入探讨ExtJS的事件处理,包括事件登记、事件对象、this的作用域以及ExtJS特有的事件管理方式。 1. **事件登记**: - **内联式登记**:在HTML元素中直接定义事件处理函数,如`onClick="popUp()"`。这种...
在深入探讨事件处理和动态载入这两个主题之前,我们先简单了解一下ExtJS的基础。 ExtJS 提供了一个完整的框架,包括丰富的UI组件、数据绑定机制、布局管理以及强大的事件模型。这使得开发者能够创建功能丰富的Web...
在EXTJS这个强大的JavaScript框架中,事件处理和模板机制是两个至关重要的概念,它们极大地提升了开发者构建用户界面的效率和代码的可维护性。本文将深入探讨EXTJS中的事件系统和模板机制,以及如何在实际开发中应用...
本教程将详细讲解如何修正EXTJS Grid中的中文排序问题。 首先,我们需要理解EXTJS Grid的排序原理。EXTJS Grid的排序功能是基于其内部的Store对象实现的,Store中的每条记录都有一个对应的sortField和sortDir属性,...
ExtJS的事件系统使得绑定和处理这些事件变得简单。 7. **可视化编辑**:为了提高用户体验,设计器通常会提供撤销/重做、选择、复制/粘贴等可视化编辑功能。这些可以通过ExtJS的命令模式和组件方法实现。 8. **验证...
extjs 所带extjs-all文件进行了修正。
EXTJS 样式 extjs字体大小 可以轻松在这个CSS文件里面调整EXTJS插件的字体大小,对这个有需求的同志们有福了!
标题中的“信息提示小窗口Notification-ExtJS2.0.2(修正版)”指的是一个基于ExtJS 2.0.2框架的用户界面组件,它主要用于实现类似qwikiOffice中的右下角信息提示功能。这个组件是原版Notification的一个改进版本,...
然而,有时我们需要对Panel进行自定义,例如添加或修改事件处理。在这个场景中,我们将深入探讨如何在Ext JS中重写Panel并为其添加click事件。 首先,理解Panel的基本结构是至关重要的。一个Panel由多个部分组成,...
本文将深入探讨“Extjs扩展DateTimeField时间初始化及点击日期显示Bug”这一主题,帮助开发者解决实际开发中遇到的难题。 DateTimeField是EXTJS中用于处理日期和时间选择的组件,它允许用户同时选择日期和时间,...
ExtJS3 升级到 ExtJS4 方案 ExtJS3 升级到 ExtJS4 需要修改大量代码,主要是因为 ExtJS4 配备了一类新的系统,不向后兼容。在 ExtJS 3 里生成表的几个框架组件,ExtJS4 大多生成 div,这使得 CSS classes 将会失败...
"EXTJS中基于事件的编程探究" EXTJS是一款基于JavaScript的开源编程框架,由Sencha公司推出,目前版本已更新至4.0。EXTJS具有面向对象编程、完善的事件监听与响应机制、跨浏览器支持、丰富的可扩展控件支持、高效...
此外,描述中提到的“修正ExtJS 4.2的一些bug”,意味着开发者对原始库进行了优化,解决了可能影响性能或稳定性的已知问题。这可能涉及到事件处理、渲染机制、数据绑定等方面,以提高整体的健壮性和可靠性。 最后,...
总结起来,重写ExtJS 4.11 Panel的`click`事件涉及到创建Panel实例,添加事件监听器,以及可能的重写行为。理解并熟练运用这些方法将使你能够更灵活地定制和控制Panel的行为,从而提升应用的用户体验。通过深入学习...