内容来自论文无忧网 www.paper51.com 目 录 内容来自www.paper51.com
1 引言. 1 内容来自论文无忧网 www.paper51.com
2 Ext JS事件机制. 1 copyright paper51.com
2.1 浏览器事件. 1 paper51.com
2.1.1 原始事件模型. 2 http://www.paper51.com 2.1.2 DOM事件模型. 2 内容来自论文无忧网 www.paper51.com 2.1.3 IE模型. 3 内容来自www.paper51.com 2.2 自定义事件. 4 http://www.paper51.com 3 事件传播. 5 copyright paper51.com
3.1 冒泡事件流. 5 内容来自www.paper51.com 3.2 捕获事件流. 6 内容来自论文无忧网 www.paper51.com 4 结术语. 6 paper51.com 参考文献. 7 http://www.paper51.com 致谢. 8 内容来自论文无忧网 www.paper51.com
http://www.paper51.com
1 引言 内容来自论文无忧网 www.paper51.com Ext JS作为当前主流的Ajax框架,已经被越来越多的开发人员所青睐。Ext JS不仅能够方便地实现优美绚丽的Web应用系统,而且它的源码架构的设计及实现也是令人叫绝的。它基于纯HTML/CSS+JS技术,它为Web应用系统开发提供了丰富的跨浏览器UI组件,开发人员可以灵活地采用JSON/XML,实现服务端表示层的负荷减轻,进而达到客户端的RIA应用这一目标实现。Ext JS 事件机制作为ExtJS架构体系中核心部分。它不仅扩展浏览器DOM元素事件,使其兼容于各大主流浏览器,而且它采用观察者模式来架构组件的事件机制,为组件提供了良好的扩展性。 http://www.paper51.com 2 Ext JS事件机制 内容来自www.paper51.com 事件就是一个对象所发生的事。事件及事件处理就是当用户执行某一个状态,或者是当对象执行某一个操作时,会给那些关心这个动作的对象发送一个通知,那些监听者接受到通知后,会执行相应的操作[1]。对于数据的操作和控制行为我们都可以看为是一个事件,并且通过相同的方式来进行处理。在图形化的界面设计中会经常用到事件,事件在图形化界面消息通信中占有着主要地位。 copyright paper51.com Ext JS为用户提供了一批标准的组件,当然这些组件是支持事件机制的,这样就可以围绕组件的事件进行编程[2]。Ext JS框架中存在着大量的事件操作,这些事件操作所通知的对象不仅是可以看得见控件,而且还可以是延伸到非可视的数据层面对象。 paper51.com 事件模型在Ext的应用中有着尤为重要的作用。Ext JS将事件分为了两种:浏览器事件和自定义事件[3]。 内容来自www.paper51.com 2.1 浏览器事件 http://www.paper51.com 浏览器事件,其实就是传统意义上的鼠标单击、鼠标移动、键盘操作这类事件。浏览器可以根据用户的动作而触发这些事件,与页面元素之间有着紧密的联系。网页中的每个HTML标签展现时都会生成DOM元素,当用户单击鼠标时,该鼠标事件就会通过操作系统事件机制传递给浏览器,接下来浏览器会根据自身事件机制来判断用户单击的事哪一个元素,并展现该元素已经注册的动作处理,紧接着判断是否需要冒泡给其父元素进行相关的处理。 copyright paper51.com 浏览器事件操作中相关的Ext类有Ext.Element、Ext.EventObject、Ext.EventManager、Ext.lib.Event。其中Ext.Element表示DOM里面的一个元素,通过Id或者DOM节点创建Element对象,提供一个快捷、统一、跨浏览器的通用事件接口。接下由Ext.EventManager接手对事件的处理的工作,页面浏览器事件管理有增加事件处理器、移除事件处理器等操作就是由它来完成。而对原始的浏览器事件进行封装,为事件处理器提供一个统一的事件接口的功能Ext.EventObject来实现的。最后,Ext.lib.Event对不同浏览器的事件处理函数进行封装,为上层提供统一的功能接口。 内容来自论文无忧网 www.paper51.com 当前主流的浏览器中主要存在三种事件模型:原始事件模型( original eventmodel)、DOM事件模型、IE事件模型。其中原始的事件模型被所有浏览器所支持,而DOM所定义的事件模型目前被除了IE以外的所有主流浏览器支持。 http://www.paper51.com
|