- 浏览: 583995 次
- 性别:
- 来自: 西安
文章分类
最新评论
-
青春依旧:
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 2934这是三种事件处理的模型 (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 1908Here’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 1422grunt 不是内部命令!! ... -
你不知道的URL中#井号用法
2015-02-10 12:36 7009URL 中 # 井号的用法 ... -
JS 伪数组原理详解
2014-12-01 11:24 2438jav ... -
jquery 滚动条插件nanoScroller 的用法
2014-11-27 11:17 5639scroller 插件nanoSc ... -
h5,hybrid 开发中问题汇总
2014-10-17 11:26 8051H5开发问题总结 和jqu ... -
backbone中的 reuter 和histroy
2014-10-13 10:45 580Router和History (路由控制) Back ... -
animate 技术分析 raphael
2014-07-28 16:40 0Animate 什么是animate,一般我 ... -
Raphaeljs 插件实现任意SVG节点加载
2014-07-14 09:26 8546SVG 和Raphael http://rap ... -
ECMAScript 5
2014-07-08 14:36 1024新版本在给基本库带来 ... -
jQueryUI Widget 代码详解
2014-07-07 12:20 0为什么需要研究JqueryUI 中Widget 的代码 ... -
typescript 用法介绍
2014-07-01 09:58 1196前言 Typescript的形態 如何定義va ... -
window.eval 与eval 区别
2014-06-27 10:57 1032它们之间有区别吗? 开发过程中似乎很少有人去加个额外的win ... -
jQuery 学习分析系列1 jQuery是个什么东西
2014-06-23 10:06 0jQuery 的基本结构 过去使用jQuery ... -
Sizzle 引擎--原理与实践3
2014-06-18 14:05 753Sizzle引擎--原理与实践(三) 查找的入口对 ...
相关推荐
extjs4.1修改bug版本,已修改数字、日期等多个控件的问题
extjs bug 图标大全
ExtJS3.3版本中Window存在BUG,如下代码: Ext.onReady({ var _window = new Ext.Window({ title:"测试窗体", layout:"form", width:300, plain:true, items:{ xtype:"textfield", ...
Extjs grid 中文排序问题修正,其实很简单,请自己看源代码
对extjs时间的介绍,期待您的参与,我们一起努力
ExtJs GridPanel双击事件获得双击的行,双击行可以选中前面的checkbox,并获得行号
extjs 所带extjs-all文件进行了修正。
Extjs 4.11 重写 Panel 添加 click事件
1.主要是Extjs方面的一些学习笔记。重点方面有事件处理,动态载入等相关介绍。
EXTJS应用EXTJS应用EXTJS应用EXTJS应用EXTJS应用EXTJS应用
extjs资料extjs资料extjs资料extjs资料extjs资料
EXTJS 样式 extjs字体大小 可以轻松在这个CSS文件里面调整EXTJS插件的字体大小,对这个有需求的同志们有福了!
Extjs 重写Panel添加click事件
extjs4.2 desktop demo 拓展功能:图标换行,拖动,多级开始菜单,修正extjs4.2的一些bug,加了几个桌面图标,纯js无后台程序,无需发布即可浏览。
学习ExtJS时看书的笔记,记录了ExtJS事件机制的原理
Extjs例子Extjs例子Extjs例子Extjs例子Extjs例子
extjs4.2.3 datefield不可选择年月bug 选择本月日期的部分是没有问题的。 点击头部显示选择年月的picker时,不能点击选择,一点组件就消失。 需要下载附件后引入就可以了
模仿ExtJS qwikiOffice中右下角的消息提示框
ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门ExtJS快速入门 ExtJS快速入门 ExtJS...
extjs4.0 技术中文视频讲解,内容非常的全... 第七讲:extjs4.0的事件机制Event 第八讲:extjs4.0的Ajax 第九讲:extjs4.0的core包和Ext类 第十讲:extjs4.0的util包 论坛地址是: http://www.uspcat.com/?fromuid=413