`

ExtJs基础【二】

阅读更多

动画

Ext Core里的Fx类是核心类库中最激动人心的一个类,它不是最重要的,却是最实用的一个类定义了一些常用的特效方法.

puff//渐隐元素的同时还伴随着向各个方向缓慢地展开。特效结束后,元素会被隐藏(visibility = ‘hidden’), 但是块元素仍然会在 document对象中占据空间。如果需要将元素从 DOM 树删除,则使用‘remove’配置选项。
// 默认
el.puff();
// 常见的配置选项及默认值
el.puff({
easing: 'easeOut',
duration: .5,
remove: false,
useDisplay: false
});

 

slideIn/slideOut//将元素滑入到视图中。
fadeIn/fadeOut//将元素从透明渐变为不透明。
switchOff//类似单击过后般地闪烁一下元素,然后从元素的中间开始收缩。
highlight//高亮
pause//在任何后续的特效开始之前一次暂停。
scale//以动画展示元素从开始的高度/宽度转换到结束的高度/宽度
ghost//将元素从视图滑出并伴随着渐隐。      //等等…

 

 

事件

HTML元素的标准事件是指mouseover、mousedown、click、blur、focus、change等能够直接对HTML元素发生的事件。在ExtJS中,这些事件的处理可以用如下的代码:

 

注册一个事件处理函数使用:
Ext.get('myElement').on('click', myHandler, myScope); myElement是要注册的元素的ID,click是事件的名称(注意,和HTML元素中的声明onXXX不同,这里不需要on),myHandler是处理函数的函数名称,myScope是一个可选的参数,指定处理函数绑定的对象,也就是处理函数的作用域,如果不提供这个参数,则是默认的window。


撤销一个事件处理函数: Ext.get(‘myElement’).un(‘click’, myHandler, myScope) 参数的意义同上。
Ext.Element的on方法是addListener方法的简写.


如果你想在一个元素上添加多个事件处理器可以这样一次搞定。

var el= Ext.get(‘myElement’);
el.on({click’ : {fn: this.onMyClick,scope: this,delay: 100//延迟0.1秒执行,---高级事件功能}, 'mouseover' : {fn: this.onMyMouseOver,scope: this}});

 

 

 

高级事件

事件委托、事件缓冲、事件延迟等的这些功能都是属于高级事件的控制内容,Ext Core在此方面提供了一系列的配置选项。

 

委托delegation减低内存销毁和防止内存泄露的隐患是事件委托技术的两项好处,其基本要义是:


并不是集合内的每一个元素都要登记上事件处理器,而是在集合其容器上登记一次便可,这样产生了中央化的一个事件处理器,然后就有不断循环该事件周期,使得逐层上报机制付诸实现,只要在容器层面定义就可以。

 

<ul id='actions'>
<li id='btn-edit'></li>
<li id='btn-delete'></li>
<li id='btn-cancel'></li>
</ul>


我们想实现,点击不同的li,产生不同的效果.为此我们可能会这么做.


Ext.get(‘btn-edit’).on(‘click, function(e,t) {// 执行事件具体过程A});
Ext. get(‘btn-delete’).on(‘click, function(e,t) {// 执行事件具体过程B});
Ext. get(‘btn-cancel’).on(‘click, function(e,t) {// 执行事件具体过程C});

 

使用事件委托的方式代替,在容器身上登记一个事件处理器,按照依附的逻辑选择:
Ext.get(‘actions’).on(‘click, function(e,t) {//在div上登记一个事件
switch(t.id) {
case ''btn-edit':
// 处理特定元素的事件具体过程A
break;
case 'btn-delete':
// 处理特定元素的事件具体过程B
break;
case 'btn-cancel':
// 处理特定元素的事件具体过程C
break;
}
});


基于dom各层经过逐层上报的原因,可以说,我们登记了的“actions”的div一定会被访问得到。这时就是执行我们所指定的switch指令,跳到对应匹配的元素那部分代码。这样方法具备可伸缩性,因为我们只要维护一个函数就可以控制那么多的元素的事件。


是否一次性触发single
在登记事件的处理器的时候可以加入配置这个选项。true代表为事件触发后加入一个下次移除本身的处理函数。
el.on('click', function(e,t) {
// 执行事件具体过程
}, this, {
single: true // 触发一次后不会再执行事件了
});

 

延时delay
你在登记事件的处理器的时候可以加入配置这个选项。制定触发事件后
处理函数延时执行的时间。
el.on('click', function(e,t) {
// 执行事件具体过程
}, this, {
delay: 1000// 延迟事件,响应事件后开始计时(这里一秒)
});

 

缓冲buffer
将上面代码的delay换成buffer//在缓冲时间内触发事件 无效.

移除事件句柄removeAllListeners
el.removeAllListeners();//在该元素身上移除所有已加入的侦听器(事件)。

 

 

 

分享到:
评论

相关推荐

    ExtJS5 整合Spring4之二

    标题 "ExtJS5 整合Spring4之二" 暗示了这是一个关于将流行的JavaScript框架ExtJS5与Java后端框架Spring4集成的主题。在Web应用开发中,这种集成允许开发者利用ExtJS5的富客户端功能和Spring4的强大后端服务。下面将...

    EXTJS4自学手册

    一 Extjs 基础 EXTJS4自学手册——EXT文件目录,本地加载文档,命名规范 EXTJS4自学手册——EXT基本方法、属性(onReady、define、create) EXTJS4自学手册——EXT基本方法、属性(apply、applyIf、constructor) ...

    ExtJS基础教程.pdf

    ### ExtJS基础教程知识点概述 #### 一、什么是ExtJS? ExtJS是一个强大的JavaScript库,专为构建富互联网应用程序(RIA)而设计。它由Jack Slocum在2006年初基于Yahoo! UI Library(YUI)进行扩展并命名,随后在...

    Extjs4.1.1

    Extjs基础入门系列: 第一讲.ExtJs初识及其环境搭建 第二讲.开始ExtJs梦想之旅 第三讲.ExtJS工具栏、菜单栏 第四讲.ExtJS最常用的表单之textfield控件 第五讲.ExtJs最常用表单组件Number、CheckBox、Radio 第...

    深入浅出EXTJS(第二版)完整清晰版

    《深入浅出EXTJS(第二版)》这本书作为学习EXTJS的强大辅助工具,不仅系统地介绍了EXTJS的基础知识,还涵盖了高级应用技巧,是开发者掌握EXTJS框架的理想选择。接下来,我们将围绕该书的主要内容进行深入探讨。 ##...

    可二次开发Extjs4.0通用后台管理系统源码完整大型项目ExtJS 4.2+Hibernate 4.1.7+SpringMVC

    3分别封装了模型层、控制层、业务逻辑层和数据持久层的通用操作模块,层次分明,大大减少代码冗余,二次开发效率高。  4系统是公司多个项目的基础框架,稳定性好,支持大并发。 主要功能 1采用ExtJS 4.2.1.883...

    extjs 基础入门 1.x与2.x对比轻松学习pdf文档

    ### ExtJS基础知识与1.x至2.x版本对比学习 #### 一、ExtJS简介 ExtJS是一款基于JavaScript的开源框架,用于开发丰富的交互式Web应用程序。它提供了强大的UI组件库,使得开发者能够快速构建高性能、高用户体验的...

    Extjs教程源码

    第二十二讲: EXTJS4.0的高级组件Form中 第二十三讲: EXTJS4.0的高级组件Form下 第二十四讲: EXTJS4.0的高级组件Form补充01 第二十五讲: EXTJS4.0的高级组件Form补充02 第二十六讲: EXTJS4.0的高级组件Panel和Layout...

    ExtJs教学基础篇参考文档

    ### ExtJs基础知识详解 #### 一、ExtJs简介与特性 **ExtJs**是一款功能强大的JavaScript库,专门用于构建复杂的Web应用程序。它提供了一系列丰富的UI组件、数据处理能力以及便捷的DOM操作方式,大大简化了前端开发...

    基于asp.net,ExtJs6.0.2的MVVM基础项目

    【标题】:“基于asp.net,ExtJs6.0.2的MVVM基础项目”揭示了这个项目是使用ASP.NET框架和ExtJs6.0.2前端库构建的一个基础的MVVM(Model-View-ViewModel)架构的应用。MVVM是一种设计模式,常用于创建可维护性和可...

    extjs4 入门基础,form、grid、tree

    在深入探讨ExtJS 4的基础知识之前,首先确保你已经下载了ExtJS 4.21版本,并将其部署到服务器的适当路径以便访问。 **一、表单(Form)** 在ExtJS中,表单是数据输入和验证的重要部分。表单组件包括文本框、复选框...

    Extjs4.0通用后台管理系统源码完整大型项目(ExtJS 4.2+Hibernate 4.1.7+Spring MVC 3.2.8)

    可二次开发Extjs4.0通用后台管理系统源码完整大型项目。数据库在项目里面的一个sql文件里面 1、采用Spring MVC的静态加载缓存功能,在首页将Javascript文件、CSS文件和图片等静态资源文件加载进来放进内存,极大提高...

    ExtJs2.0学习系列

    学习如何使用Ajax请求来获取或提交数据,以及配合JSONP处理跨域问题,是开发动态Web应用的基础。 七、工具栏和菜单 工具栏(Toolbar)和菜单(Menu)在用户界面中起到辅助操作的作用。学习如何创建和定制这些元素,...

    Extjs基础教程

    ### Extjs基础教程知识点详解 #### 一、Extjs概述 **Extjs** 是一个基于 HTML/CSS 和 JavaScript 的 AJAX 框架,主要用于构建功能丰富且交互性强的前端用户界面。它支持多种浏览器,能够帮助开发者快速创建高质量...

    spring+extjs项目文件

    二、ExtJS框架 1. 前端组件库:ExtJS提供了丰富的UI组件,如表格、面板、窗口、表单等,可快速构建复杂的用户界面。 2. MVC模式:ExtJS采用MVC模式,将视图、模型、控制器分离,有利于代码组织和维护。 3. 数据绑定...

    extjs4中文视频下载地址

    #### 二、ExtJS 4.0 新特性 - **模块化架构**:ExtJS 4.0 引入了模块化架构,使得开发者可以按需加载特定的功能模块,提高了应用程序的性能。 - **主题引擎**:新增的主题引擎支持动态更换界面风格,使得应用的外观...

    extjs资料打包

    通过研究源码,开发者可以深入了解EXTJS的内部工作原理,学习EXTJS的组件是如何被构建和组织的,这对于进行EXTJS的二次开发和问题排查非常有帮助。同时,这也是一个历史版本,可以对比EXTJS的新旧版本,理解其演进...

    ExtJs开始之旅

    在"开始ExtJs梦想之旅"的第二讲中,你将具体学习如何使用ExtJS创建第一个应用,从创建基本的窗口(Window)和面板(Panel),到添加控件并实现简单的交互。这一过程中,你将实践如何编写JavaScript代码来实例化组件...

    深入浅出ExtJS第2版(完整版)

    《深入浅出ExtJS第2版(完整版)》作为第二版,不仅更新了ExtJS的最新特性和最佳实践,还加入了大量的实战案例,通过这些案例,读者可以直观地看到如何将理论知识转化为实际开发中的解决方案。相较于第一版,新版在...

Global site tag (gtag.js) - Google Analytics