事件的定义
事件一个消息、一次函数的调用,可由程序(或其中的部分)生成;事件源,用于通知其他的程序(的其中一部分);事件处理器,就是触发某些内容。事件会由用户的动作或事件源的状态发生改变而生成。事件源独立于事件侦听器,哪怕是没有人去侦听它或定义好一个侦听器都是生成事件。我们说无限循环(infinite loop)的思想在于:“有用户把鼠标移动到[x,y]坐标了,我正在通知全体的成员,有没有人侦听、谁是侦听者不是我关心的事情” 。侦听者(listener)的思想在于:“用户一移动鼠标,就要告诉我,让我执行某些事情”。
Ext中的事件
Ext中的事件可以分为“两类”: DOM事件与 JavaScript(或程序)事件。
DOM事件
显示网页的浏览器已经有某种“无限循环”的机制以处理用户的动作,并根据DOM元素所发生的动作去触发事件。
以往我们一般是这样设置DOM元素事件侦听器的:
<div id="mydiv" onclick="alert('你点击了我。')">请点击!</div>
Ext.Element 对DOM元素的事件进行打包,现在设置事件侦听器的方式变为这样:
Ext.get('mydiv').on('click', function() {alert('你点击了我。');});
It can be said that DOM events are "passed-through" from DOM through Ext.Element to listeners.
JavaScript事件
现在,事件源不但会是DOM元素,而且可以是任意的JavaScrpt对象,轻松实现事件源的逻辑和加入侦听器。可是,这带来什么好的方面呢?
试想一下一个复杂的组件如GRID。只对DOM事件编程话,像列移动这样的用户动作处理起来变得极端复杂。你必须要侦听DOM的元素,处理鼠标的点击、移动、计算出列移动的距离等等。如采用GRID组件的话,相信可摆脱烦复的工作,变为一件轻松的事情:所有东西完成好后,通知你“用户已经移动列三到位置一”。这就是GRID的功劳:它触发JS事件,通知预设好的侦听者发生了什么事儿。其他的ext组件也是这么一回事。如验证事件、树折叠...
如何监听事件
对于Ext类中的某个对象,假设一面板(Panel),当面板大小变化时,就会执行相应的动作,这样你需要加入一个侦听器来实现你的动作:
//创建面板
var myPanel = new Ext.Panel({...});
// 加入大小变化的侦听器
myPanel.on('resize', function(panel, w, h) {
alert('Panel resized to ' + w + 'x' + h);
});
这样的效果是,无论任何时候面板myPanel一发生变化,便会调用函数执行你预设的动作。
如何创建事件源?
事件相关的函数是由Ext.util.Observable 类来实现,所以如果现在是一个事件源的扩展程序,只要继承Observable便可。而且,如果你已经是从Observable的子类上获取继承(Panel、Grid、Form、Tree等)那么已经是一个事件源了。事件的触发是由父类所执行的。
随便监听和触发事件~尽情地使用事件吧!
转http://www.extjs.com/learn/Tutorial:Events_Explained_%28Chinese%29
分享到:
相关推荐
这篇博客文章“在EXT中使用FCKEditor编辑器例子”可能探讨了如何将FCKEditor集成到EXT应用中,为用户提供一个方便的文本编辑界面。 在EXT中集成FCKEditor,首先你需要理解EXT的基本概念,如组件(Component)、布局...
EXT dojochina Ext事件是JavaScript库EXT JS中的一个重要概念,EXT JS是一个强大的前端开发框架,主要用于构建桌面级Web应用程序。这个压缩包可能包含了关于EXT JS事件处理的详细资料,特别是针对中国开发者...
下面我们将详细探讨如何在EXT中使用FusionChart以及这些文件的作用。 1. **EXT框架**: EXT是一个基于JavaScript的UI框架,提供了一套完整的组件模型,包括表格、面板、菜单、窗口等,能够构建出美观且响应式的Web...
在实际项目中,开发者可以通过Maven或者Gradle等构建工具将EXT3.jar作为依赖引入,然后在Java代码中创建EXT组件并进行事件绑定,实现业务逻辑。 在网站开发中,EXT框架的使用可以提供强大的用户界面,例如,通过EXT...
Ext中的事件 简述模板 模板(Templates)的函数 教你创建Ext UI控件 事件的处理 Ext中的继承 Ext的类设计 Ajax通讯 JSON处理方法 函数的原型扩展 组件的使用: Tab标签页 Ext 1.x中的布局 Grid组件初学 Grid的...
3. **创建`Ext Grid`**:接下来,我们需要定义`Grid`的列配置,然后在`Grid`中使用`Store`。例如: ```javascript var grid = new Ext.grid.Panel({ title: '数据库内容', store: store, columns: [ {header: ...
在压缩包中的"EXT教程"文件,可能包含了从入门到进阶的各类教程文章,覆盖了EXT的基本概念、组件使用、布局配置、数据绑定等多个方面。通过阅读这些教程,你可以逐步掌握EXT的开发技巧,从而构建出专业级别的Web应用...
"经典的Ext例子"这部分可能包含了各种使用ExtJS编写的示例代码,这些示例通常涵盖了从基础到高级的各种功能,包括组件的使用、数据绑定、事件处理、布局管理等。通过这些实例,初学者可以直观地理解如何在实际项目中...
适配器(Adapters)在EXT中扮演着关键角色,它们帮助EXT与不同版本的jQuery或其他JavaScript库共存,提供兼容性解决方案。 EXT2.0的学习路径建议从基本的Element操作和事件处理开始,逐步掌握Widgets的使用,然后...
在EXT Tree的使用实例中,我们通常会涉及到以下几个关键知识点: 1. **配置项与属性**:EXT Tree允许通过配置项定制其行为和外观。例如,`rootVisible` 控制是否显示根节点,`nodeType` 定义节点类型,`expanded` ...
EXTjs2 的treeNode 带有checkbox,可是API中,关于checkbox的事件就只有一个checkchange事件,所以写个方法传上来。
Element是Ext框架中最基础的部分,它封装了对DOM的操作,提供了对DOM节点进行查询、样式修改、事件绑定等能力,使得JavaScript操作DOM变得更加简洁和高效。 - **获取多个DOM的节点** Ext通过Element的静态方法`...
Ext 是一个广泛使用的JavaScript库,主要用于构建富客户端的Web应用程序。它提供了丰富的用户界面组件和数据绑定机制,使得开发者能够创建功能强大、交互性强的网页应用。本篇将基于"Ext 中文帮助文档"深入探讨Ext的...
在提供的“ext2中文文档新春版”中,很可能是EXT2版本的相关文档,EXT2是EXT的一个早期版本,可能包含了详细的API文档、教程和示例代码,帮助开发者理解EXT的基本用法和内部机制。通过阅读这些文档,开发者可以了解...
它们可能包括创建EXT应用的基本步骤、组件的使用方法、事件处理和响应机制等,是学习EXT的基础教材。 3. **EXT 中文帮助手册**:这是一份详细的辅助学习材料,可能包含EXT框架的高级特性,如AJAX通信、图表组件、...
EXT3.0中文API文档是针对EXT JavaScript库的版本3.0所编写的详细参考资料,主要面向前端开发者,特别是那些在Web应用中使用EXT3.0框架进行开发的专业人士。EXT是一个强大的用户界面库,提供了丰富的组件和功能,用于...
这个例子在.NET环境中展示了如何有效地使用ExtGrid,包括显示数据、增删改查(CRUD)操作以及分页功能。下面将详细介绍这些知识点。 1. **Ext JS**:Ext JS是一个用于构建富客户端Web应用的JavaScript框架,它提供...
此压缩包中包含了两个关键资源,即"Ext 中文文档.chm"和"EXT 中文手册.doc",这些都是帮助开发者理解和使用Ext库的重要参考资料。 首先,我们来看"Ext 中文文档.chm",这是一个编译后的HTML帮助文件,通常用于存储...