`
kstgjfk403
  • 浏览: 30743 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ExtJS入门事件(一)(转载)

    博客分类:
  • Ext
阅读更多

        事件是指一个特定的动作,这个动作可以针对HTML元素的,如keydown,keyup,mouseover, mouseout等,也可以是对于其它自定义的动作。

事件处理一般有2种:

一、处理HTML元素的标准事件:

        HTML元素的标准事件是指mouseover、mousedown、click、blur、focus、change等能够直接对HTML元素发生的事件。

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

        ExtJS会根据不同的浏览器进行相应的处理,根本不需要理会用户用的是什么浏览器。根据事件的不同,传给处理函数的参数也会不同,这个只能参考ExtJS的文档了,必要时还得参考源代码。

二、处理自定义事件:

        在ExtJS中使用自定义事件,需要从Ext.util.Observable继承,示例代码如下:

Employee = function(name){
   this.name = name;
   this.addEvents({
      "fired" : true,
      "quit" : true
   });
}
Ext.extend(Employee, Ext.util.Observable, { ... });

 

        在这段代码中,定义了一个Employee类,定义了fired和quit两个事件。如何触发这两个事件呢,基类Ext.util.Observable 提供了触发自定义事件的方法fireEvent(eventName, arg1, arg2, ... argn), eventName是要触发的时间的名称(不区分大小写),后面的参数arg1,arg2等是要传给事件处理函数的参数。用上面的Employee类做示例,触发quit事件:

 

this.fireEvent('quit', this);

 

        这行代码将触发quit事件,并将Empolyee类的实例传给quit事件的处理函数,quit事件的订阅可以采用如下代码(定义两个处理函数):

function myHandler1(empolyee){ ... }
function myHandler2(empolyee){ ... }

 

 为quit事件注册处理函数:

var emp = new Empolyee('tom');
emp.on('quit', myHandler1);
emp.on('quit', myHandler2);

        在上面的代码中,为quit事件注册了两个处理函数(myHandler1与myHandler),当quit事件被激发时,将会依次调用myHandler1和myHandler2两个函数。

        值得注意的是,不管是HTML元素的标准事件还是自定义事件,如果为某个时间注册了多个处理函数,如前面的例子,如果myHandler1返回false 的话,则会取消在myHandler1之后注册的处理函数的执行,即该事件被取消,从而停止继续执行该事件的处理函数,而这个返回值false会作为事件激发的结果,返回给empolyee,即:

var result = this.fireEvent('quit', this);
if (result === false) {
   alert('event canceled'); //这里表示事件被某个处理函数取消
}
else {
   alert('event complete'); // 这里表示事件执行完毕
}

 通过Ext的自定义事件的机制,可以实现一对多的观察者模式,也可以实现一对一的绑定模式,这一点,在ExtJS的开发中是很重要的。

出处http://beginor.github.io/

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    ExtJS快速入门 ExtJS快速入门 ExtJS快速入门

    ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS...ExtJS快速入门 ExtJS快速入门 ExtJS快速入门ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门

    ExtJS入门教程(超级详细).pdf

    ExtJS入门教程(超级详细).pdf

    ExtJs入门实例.doc

    本文将围绕ExtJs2.0入门实例,重点讲解Ext.MessageBox的使用,包括其基本方法和配置选项,帮助初学者快速掌握这一核心功能。 1. **Ext.MessageBox.alert()** `Ext.MessageBox.alert()`方法用于显示简单的警告...

    extjs入门到精通

    extjs入门到精通,实例有简单到复杂,还有综合实力,下载即可运行,环境也是配好的,希望对你有帮助!

    ExtJS入门教程(超级详细)

    此外,入门教程中还会介绍如何创建一个简单的ExtJS示例程序,例如显示一个弹出窗口或一个面板(ExtPanel)。ExtJS通过一套丰富的组件来构建用户界面,这些组件可以直接在项目中使用,并可以进行适当的定制以适应不同...

    ExtJs入门 ExtJs很好的电子书 ExtJS入门.pdf 入门ExtJs必备电子书

    ### ExtJs 入门知识点详解 #### 一、ExtJs简介与核心概念 - **ExtJs**是一款基于JavaScript的企业级富客户端应用开发框架,它提供了一系列丰富的UI组件和功能强大的工具,使得开发者能够轻松地创建出高质量的Web...

    EXTJS入门教程(非常详细)

    在EXTJS入门教程中,我们将会了解到EXTJS的核心概念、组件的介绍与应用以及如何获取多个DOM节点并响应事件。 首先,EXTJS的核心是Ext,它提供了一系列的功能,比如获取多个DOM节点,响应事件等。在EXTJS中,DOM节点...

    ExtJS快速入门指南

    ExtJS 也就是 Ext 框架 官方网址为 www extjs com ExtJS 是一个 Ajax 框架 是一个用 javascript 写的 用于在客户端创建丰富多彩的 web 应用程序界面 ExtJS 可以用来开发 RIA Rich Internet Application 富互联网应用...

    ExtJS入门教程.pdf

    ExtJS入门教程 一、开始EXTJS 二、组件的介绍 三、EXT核心

    extjs入门之helloword

    总之,“extjs入门之hello world”是一个很好的起点,它引导初学者了解ExtJS的基本用法和架构。通过分析源码,理解组件的创建和交互,以及熟悉工具集的使用,我们可以逐步掌握这个强大的JavaScript框架。同时,通过...

    extjs入门之组件学习

    extjs入门学习,各个组件的使用,包括Observable、Observable、BoxComponent、Container、Panel、Viewport及Window...

    ExtJs入门实例(内含N个实例源码)

    ExtJS入门实例、包含各种详细代码,非常适合初学者学习

    extjs入门案例大全

    《EXTJS入门案例详解》 ...在学习EXTJS时,理解组件的属性、方法和事件是关键,同时熟悉数据绑定和数据存储也是必不可少的。通过实践这些入门案例,你可以逐步掌握EXTJS的基本用法,并为更深入的学习打下坚实的基础。

    extjs 入门 ppt

    ExtJs入门.ppt ExtJs入门.ppt 大家学习学习

    ExtJS4.2入门案例

    ExtJS4.2入门案例 博客:http://blog.csdn.net/coco2d_x2014/article/details/52986835

    Extjs入门实例chm版

    Extjs入门实例chm版,非常好的Extjs学习资料

    extjs入门教程及ext3.0开发文档

    ExtJS是一种基于JavaScript的富因特网应用程序(Rich Internet Application, RIA)框架,它用于构建功能强大、用户界面友好的Web应用。本教程将深入探讨ExtJS的基础知识及其在Ext3.0版本中的特性。 首先,让我们从...

Global site tag (gtag.js) - Google Analytics