- 浏览: 33413 次
- 性别:
- 来自: 广州
最新评论
<!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方法可以实现事件在不同对象之间的传播和分发。
<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方法可以实现事件在不同对象之间的传播和分发。
发表评论
-
Ext.data.TreeStore 分级异步加载树节点示例
2013-07-10 15:36 2074Ext.data.TreeStore远程加载树节点有两种常用方 ... -
Ext.Ajax.request提交JSON数据
2013-07-10 09:29 1368JSON作为轻量级的数据传输格式,在很多时候可以作为XML文件 ... -
Ext.Ajax.request提交XML数据示例
2013-07-09 16:51 947服务器端:loginServerXml.jsp 在lib下要有 ... -
Ext.Ajax.request异步提交表单示例
2013-07-09 16:10 1047服务器端代码:loginServer.jsp <%@ ... -
树形面板Ext.tree.Panel
2013-07-05 15:19 647<!DOCTYPE html PUBLIC " ... -
Extjs自定义事件
2013-07-04 10:54 436<!DOCTYPE html PUBLIC " ... -
改变文档样式风格示例
2013-07-04 10:55 773<!DOCTYPE html PUBLIC " ... -
ExtJS事件绑定方式示例
2013-07-04 10:55 673<!DOCTYPE html PUBLIC " ... -
Ext.util.JSON编码和解码JSON对象
2013-07-03 15:27 944<script type="text/java ... -
Ext.util.Format提供的常用格式化方法
2013-07-03 14:57 1333<!DOCTYPE html PUBLIC " ... -
Ext.util.ClickRepeater 事件的配置和触发
2013-07-03 11:55 748Ext.util.ClickRepeater 继承Ext.ut ... -
样式表的创建和规则获取示例
2013-07-03 10:44 516<!DOCTYPE html PUBLIC " ... -
Ext.KeyNav为元素提供简单的按键处理方法示例
2013-07-03 09:46 848<!DOCTYPE html PUBLIC " ... -
Ext常用函数
2013-07-01 16:42 629函数一:Ext.onReady() Ext的Dom都是动态生成 ... -
水平盒布局HBox
2013-07-01 15:43 486<!DOCTYPE html PUBLIC " ... -
表格布局
2013-07-01 15:18 522<!DOCTYPE html PUBLIC " ... -
Ext.layout.container.Column布局
2013-07-01 15:18 755<script type="text/java ... -
Absolute绝对位置布局示例
2013-07-01 14:35 396Ext.layout.container.Absolute对应 ... -
Card 卡片式布局
2013-06-28 16:40 951<!DOCTYPE html PUBLIC " ... -
Ext.layout.container 标准布局类
2013-06-28 15:48 767<!DOCTYPE html PUBLIC " ...
相关推荐
在这些方法里,你可以根据自己的需求实现事件的拦截、分发和处理逻辑,例如改变事件的传播路径,或者添加特殊的行为响应。 5. **源码分析**:理解原生Android事件分发机制,需要阅读系统的`View`和`ViewGroup`类的...
事件分发是C#中的一个重要概念,它允许对象之间进行异步通信,使得一个对象(事件源)可以在特定事件发生时通知其他对象(事件监听者或事件处理者)。在本篇中,我们将深入探讨C#中的事件分发机制,并通过一个名为...
事件分发主要包括两个阶段:事件传播和事件消费。当用户在屏幕上进行触摸操作时,Android会生成一个MotionEvent对象,然后通过事件分发机制将这个事件从顶级视图逐层向下传递,直到找到能够处理该事件的视图。 1. *...
在Android开发中,事件分发、拦截和处理是UI交互中的关键部分,它涉及到Activity、ViewGroup和View之间的协作。事件通常指的是用户与屏幕上的控件进行交互时产生的触摸事件,如点击、滑动等。下面我们将深入探讨这一...
同时,通过覆写`onTouchEvent()`,可以控制事件的处理逻辑,比如在某些条件下阻止事件向下传播。 在提供的链接博客中,作者详细介绍了如何通过代码示例来理解和调试事件分发流程。通过阅读博客,开发者能够更直观地...
在Android开发中,事件分发机制是理解和优化用户交互界面不可或缺的部分。事件主要指的是用户的触摸操作,例如点击、滑动等。当用户在屏幕上进行操作时,这些事件会经过一系列的处理和分发,最终到达相应的View进行...
在Android开发中,事件分发是用户界面交互的基础,它涉及到Activity、Fragment、ViewGroup以及View之间的消息传递。本"事件分发分析Demo"旨在深入探讨Android事件分发机制,帮助开发者更好地理解和应用这一核心概念...
在Android开发中,事件分发机制是至关重要的一个部分,它决定了用户与界面交互时,事件如何在不同的组件之间传递和处理。本文将基于“Android事件分发机制全解析Demo”进行深入探讨,并通过实际的代码示例来帮助你更...
这个机制确保了触摸事件能够正确地在View树中进行传播和处理。 1. **DispatchTouchEvent**:当用户在屏幕上点击或滑动时,系统首先会产生一个MotionEvent事件,然后通过Activity的dispatchTouchEvent()方法将事件...
### Android 事件分发机制详解 #### 一、引言 在Android开发中,事件处理是用户界面交互设计的核心组成部分。对于开发者来说,理解事件如何被分发到各个控件中至关重要,因为这直接影响到应用的用户体验。本文将从...
在Android系统中,事件分发机制是用户与应用程序交互的核心环节。这个机制处理了所有的触摸事件,使得我们能够正确响应用户的点击、滑动等操作。本文将深入探讨"事件分发机制学习Demo"中的关键概念,并结合提供的...
在Android系统中,触摸事件的分发是UI交互的核心部分,它涉及到Activity、ViewGroup和View之间的协同工作。本文将深入解析Android的Touch事件分发机制,并通过一个名为"EventDispatchTest"的示例来说明。 1. **事件...
在Android系统中,事件分发机制是用户与应用程序交互的核心环节。它决定了用户在屏幕上点击、滑动等操作如何被正确地处理和响应。本文将深入探讨Android事件分发机制,帮助开发者理解这一关键概念。 首先,我们从...
在Android开发中,事件分发是用户界面交互的关键部分,涉及到Activity、ViewGroup以及View之间的协同工作。这个压缩包中的代码示例着重于演示如何在Android中实现事件分发的拦截与处理。以下是对相关知识点的详细...
在Android开发中,事件分发是一个至关重要的概念,它决定了用户与应用界面的交互方式。事件分发机制涉及到了触摸事件的传递流程,通常包括触摸事件的产生、传递和处理。"事件分发的案例Demo"是针对这一主题的具体...
在Android开发中,事件分发机制是至关重要的一个部分,它决定了用户与界面元素交互时的行为。本小Demo主要展示了Android事件分发的过程,并通过一系列的日志截图来帮助理解这一机制。下面,我们将深入探讨Android...
在Android开发中,事件分发机制是一个至关重要的概念,它涉及到用户与应用程序界面的交互。事件分发机制决定了用户点击、触摸屏幕时,这些事件如何被Android系统正确地处理和传递到相应的视图组件。本Demo "Android...
在Android系统中,事件分发机制是用户界面交互的核心部分,它确保了用户与屏幕上的各种View进行交互时,事件能够正确地传递和处理。本文将深入探讨Android事件分发机制,特别关注在View层次中的事件处理流程。 首先...
在Android开发中,事件分发机制是理解和优化用户交互体验的关键环节。事件,通常指的是用户的触摸操作,如点击、滑动等,这些操作如何被准确地传递到相应的View上进行处理,就是事件分发机制的核心内容。下面我们将...