`
tesia
  • 浏览: 33413 次
  • 性别: Icon_minigender_2
  • 来自: 广州
社区版块
存档分类
最新评论

relayEvents传播分发事件

阅读更多
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<link  rel="stylesheet" type="text/css"  href="ext-4.0.7-gpl/resources/css/ext-all.css" />
<script type="text/javascript"  src="ext-4.0.7-gpl/bootstrap.js"></script>
<script type="text/javascript" src="ext-4.0.7-gpl/locale/ext-lang-zh_CN.js"></script>
<script type="text/javascript">
Ext.onReady(function(){
var Employee=Ext.extend(Ext.util.Observable,{
constructor:function(config){
this.name=config.name;
this.eat=function(){
  this.fireEvent('startEat',this);//激发开始吃饭事件
  this.fireEvent('finishEat',this);//激发结束吃饭事件
}
                        //加入自定义事件
this.addEvents({
"startEat":true,
"finishEat":true
});
// this.listeners=config.listeners;
Employee.superclass.constructor.call(this,config);
}
});
//定义服务员类
var Waiter=Ext.extend(Ext.util.Observable,{
constructor:function(config){
  Waiter.superclass.constructor.call(this,config);
}
});
//创建员工对象
window.emp=new Employee({name:'Tom'});
emp.addListener('startEat',function(){
alert(this.name+"开始吃饭了");
});
emp.addListener("finishEat",function(){
alert(this.name+"吃完饭,收拾盘子");
});
var waiter=new Waiter();
//使服务员对象与员工对象finishEat事件进行关联
//也就是说当员工对象finishEat事件发生后,先执行自身的事件监听器
//然后事件也会传递到服务员对象中,激发服务员对象的finishEat事件
waiter.relayEvents(emp,['finishEat']);
waiter.on('finishEat',function(){
alert("服务员开始收拾");
});
});

</script>
</head>

<body>
<table>
<tr>
  <td><button  type="button" id="btn"  style="width:50px;height:30px;" value="ok" onclick="window.emp.eat()" >确定</button></td>
</tr>
</table>
</body>
</html>

通过调用relayEvents方法可以实现事件在不同对象之间的传播和分发。
  • 大小: 14.2 KB
  • 大小: 18.2 KB
  • 大小: 17.9 KB
分享到:
评论

相关推荐

    手写Android事件分发机制

    在这些方法里,你可以根据自己的需求实现事件的拦截、分发和处理逻辑,例如改变事件的传播路径,或者添加特殊的行为响应。 5. **源码分析**:理解原生Android事件分发机制,需要阅读系统的`View`和`ViewGroup`类的...

    事件分发_C#_事件分发_serious791_

    事件分发是C#中的一个重要概念,它允许对象之间进行异步通信,使得一个对象(事件源)可以在特定事件发生时通知其他对象(事件监听者或事件处理者)。在本篇中,我们将深入探讨C#中的事件分发机制,并通过一个名为...

    Android事件分发机制(三)事件分发和消费

    事件分发主要包括两个阶段:事件传播和事件消费。当用户在屏幕上进行触摸操作时,Android会生成一个MotionEvent对象,然后通过事件分发机制将这个事件从顶级视图逐层向下传递,直到找到能够处理该事件的视图。 1. *...

    android事件分发、拦截、处理的示例代码

    在Android开发中,事件分发、拦截和处理是UI交互中的关键部分,它涉及到Activity、ViewGroup和View之间的协作。事件通常指的是用户与屏幕上的控件进行交互时产生的触摸事件,如点击、滑动等。下面我们将深入探讨这一...

    android事件分发流程

    同时,通过覆写`onTouchEvent()`,可以控制事件的处理逻辑,比如在某些条件下阻止事件向下传播。 在提供的链接博客中,作者详细介绍了如何通过代码示例来理解和调试事件分发流程。通过阅读博客,开发者能够更直观地...

    android事件分发机制Demo

    在Android开发中,事件分发机制是理解和优化用户交互界面不可或缺的部分。事件主要指的是用户的触摸操作,例如点击、滑动等。当用户在屏幕上进行操作时,这些事件会经过一系列的处理和分发,最终到达相应的View进行...

    事件分发分析Demo

    在Android开发中,事件分发是用户界面交互的基础,它涉及到Activity、Fragment、ViewGroup以及View之间的消息传递。本"事件分发分析Demo"旨在深入探讨Android事件分发机制,帮助开发者更好地理解和应用这一核心概念...

    Android事件分发机制全解析Demo

    在Android开发中,事件分发机制是至关重要的一个部分,它决定了用户与界面交互时,事件如何在不同的组件之间传递和处理。本文将基于“Android事件分发机制全解析Demo”进行深入探讨,并通过实际的代码示例来帮助你更...

    view的事件分发机制demo2

    这个机制确保了触摸事件能够正确地在View树中进行传播和处理。 1. **DispatchTouchEvent**:当用户在屏幕上点击或滑动时,系统首先会产生一个MotionEvent事件,然后通过Activity的dispatchTouchEvent()方法将事件...

    Android 事件分发机制视频讲解

    ### Android 事件分发机制详解 #### 一、引言 在Android开发中,事件处理是用户界面交互设计的核心组成部分。对于开发者来说,理解事件如何被分发到各个控件中至关重要,因为这直接影响到应用的用户体验。本文将从...

    事件分发机制学习Demo

    在Android系统中,事件分发机制是用户与应用程序交互的核心环节。这个机制处理了所有的触摸事件,使得我们能够正确响应用户的点击、滑动等操作。本文将深入探讨"事件分发机制学习Demo"中的关键概念,并结合提供的...

    Android Touch事件分发机制代码一

    在Android系统中,触摸事件的分发是UI交互的核心部分,它涉及到Activity、ViewGroup和View之间的协同工作。本文将深入解析Android的Touch事件分发机制,并通过一个名为"EventDispatchTest"的示例来说明。 1. **事件...

    Android事件分发机制

    在Android系统中,事件分发机制是用户与应用程序交互的核心环节。它决定了用户在屏幕上点击、滑动等操作如何被正确地处理和响应。本文将深入探讨Android事件分发机制,帮助开发者理解这一关键概念。 首先,我们从...

    自己写的android事件分发拦截处理的代码可以清楚知道事件分发拦截和处理的过程.rar

    在Android开发中,事件分发是用户界面交互的关键部分,涉及到Activity、ViewGroup以及View之间的协同工作。这个压缩包中的代码示例着重于演示如何在Android中实现事件分发的拦截与处理。以下是对相关知识点的详细...

    事件分发的案例Demo

    在Android开发中,事件分发是一个至关重要的概念,它决定了用户与应用界面的交互方式。事件分发机制涉及到了触摸事件的传递流程,通常包括触摸事件的产生、传递和处理。"事件分发的案例Demo"是针对这一主题的具体...

    Android事件分发机制小Demo

    在Android开发中,事件分发机制是至关重要的一个部分,它决定了用户与界面元素交互时的行为。本小Demo主要展示了Android事件分发的过程,并通过一系列的日志截图来帮助理解这一机制。下面,我们将深入探讨Android...

    Android事件分发机制演示demo

    在Android开发中,事件分发机制是一个至关重要的概念,它涉及到用户与应用程序界面的交互。事件分发机制决定了用户点击、触摸屏幕时,这些事件如何被Android系统正确地处理和传递到相应的视图组件。本Demo "Android...

    安卓事件分发机制的回答

    在Android系统中,事件分发机制是用户界面交互的核心部分,它确保了用户与屏幕上的各种View进行交互时,事件能够正确地传递和处理。本文将深入探讨Android事件分发机制,特别关注在View层次中的事件处理流程。 首先...

    事件分发机制

    在Android开发中,事件分发机制是理解和优化用户交互体验的关键环节。事件,通常指的是用户的触摸操作,如点击、滑动等,这些操作如何被准确地传递到相应的View上进行处理,就是事件分发机制的核心内容。下面我们将...

Global site tag (gtag.js) - Google Analytics