`
plkong
  • 浏览: 176883 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

JavaScript事件设计模式(序)

阅读更多

4.让自定义事件支持多绑定

    可以用attachEvent或者addEventListener方法来实现多个事件处理程序的同时绑定,不会发生互相冲突,自定义事件同样也可以实现此机制。实现代码如下:

<script language="javascript" type="text/javascript" >
<!--
function User(){
//构造函数
}
//定义类成员
User.prototype = {
	show: function(){
		//如果有事件触发,则循环onshow数组,并触发该事件
		if(this.onshow){
			for( var i=0; i<this.onshow.length; i++ ){
				this.onshow[i]();//调用事件处理程序
			}
		}
	},
	attachOnShow: function(_eHandler){
		if(!this.onshow) this.onshow = [];//用数组存储绑定的事件处理程序引用
		this.onshow.push(_eHandler);
	}
}

var obj = new User();
function onShow1(){
	alert(1);
}
function onShow2(){
	alert(2);
}

//绑定两个事件处理程序
obj.attachOnShow(onShow1);
obj.attachOnShow(onShow2);
//调用show,触发onshow事件
obj.show();
//-->
</script>

 此机制基本实现思想就是对数组的操作。

 

分享到:
评论

相关推荐

    《javascript设计模式》学习笔记一:Javascript面向对象程序设计对象成员的定义分析

    本文实例讲述了Javascript面向对象程序设计对象成员的定义。分享给大家供大家参考,具体如下: 序: 刚接触javascript的时候,觉得这语言有点儿摸不着门道,感觉这玩意儿太难学了,没什么规范,没什么像样的手册,...

    JavaScript详解(第2版),完整扫描版

    《JavaScript详解(第2版)》从JavaScript的编程结构开始,循序渐进地讲述了JavaScript及相关的CSS、W3C DOM、cookie、正则表达式和匹配模式,以及功能强大的Ajax。书中采用了大量课堂实践示例,附以详尽的代码行解释...

    基于CDIO的JavaScript课程教学改革与研究.pdf

    CDIO是一种新的国际化教学模式,旨在培养学生的工程设计能力、团队协作能力和终身学习能力。通过对企业的调研发现,毕业生的要求具有一定的共同性,包括工程基础、设计和过程的了解、实践经验、设计和创造能力、沟通...

    Pro Windows8 development with HTML5 and Javascript

    3. 触摸事件和多点触控支持:Windows 8平板电脑的普及使得触摸界面的支持变得极为重要,本书介绍了如何处理触摸事件和设计适配触摸操作的界面。 4. 异步编程:Windows 8应用支持强大的异步编程模型,本书通过示例...

    循序渐进ASP.NET教程

    ASP.NET还引入了ASP.NET MVC(Model-View-Controller)架构,这是一种设计模式,鼓励开发者遵循清晰的职责划分。Model处理数据,View负责显示,Controller管理用户交互。MVC模式有助于实现可测试、可维护的代码,...

    犀利开发_jQuery内核详解与实践(完整版421页).part2(共3部分)

    本书循序渐进地讲解了jquery高效开发的方法和技巧,内容包括jquery框架的设计模式和思路、sizzle选择器的构成和工作机制、dom文档操作、事件处理、动画设计、ajax异步通信、插件扩展和辅助工具等。  执行效率是...

    犀利开发_jQuery内核详解与实践(完整版421页).part1(共3部分)

    本书循序渐进地讲解了jquery高效开发的方法和技巧,内容包括jquery框架的设计模式和思路、sizzle选择器的构成和工作机制、dom文档操作、事件处理、动画设计、ajax异步通信、插件扩展和辅助工具等。  执行效率是...

    犀利开发_jQuery内核详解与实践(完整版421页).part3(共3部分)

    本书循序渐进地讲解了jquery高效开发的方法和技巧,内容包括jquery框架的设计模式和思路、sizzle选择器的构成和工作机制、dom文档操作、事件处理、动画设计、ajax异步通信、插件扩展和辅助工具等。  执行效率是...

    基于Html Asp JavaScript的外贸函电教学软件开发.pdf

    游戏中有任务模式、随机模式、时间模式可供选择,学生们可以根据自己的需要由易到难地进行自我训练,逐渐积累单词量。 2. 对号入座:较正式的商务沟通对外贸函电格式的要求比较严格,经过统计主要有七种格式。本...

    通过注册TOPIC回调处理函数,实现了TMC产品服务的消息消费处理能力,同时通过Proxy代理,以TOPIC作为键值,平序注册消

    1. **事件监听和触发**:利用JavaScript的事件监听器(EventEmitter)或Promise的then/catch/finally等方法来触发和处理事件。 2. **函数注册与调度**:理解如何在全局或特定上下文中注册函数,并根据特定条件(如...

    collectionJava源码-javascript-playground:收集源代码和应用程​​序

    【标题】"collectionJava源码-javascript-playground"是一个项目,它主要关注的是Java和JavaScript相关的源代码收集,尤其在...通过研究源代码,不仅可以提升编程技能,还能了解到实际项目中的设计模式和最佳实践。

    C#累积学习资料 对初学者很有用

    5. **.NET框架**:"1.NET反射、委托技术与设计模式.doc"介绍了.NET框架的高级特性,反射允许在运行时获取类型信息,而委托则支持事件处理。设计模式是解决常见软件设计问题的最佳实践,学习它们有助于编写更高效、可...

    软件工程实战手册.pptx

    - **设计模式和UML的协作**:设计模式可以帮助优化UML设计,UML则可以通过图形化展示设计模式的应用。 - **设计模式和UML实践**: - 将设计模式应用于UML建模,使用设计模式优化UML结构,确保软件设计的合理性。 ...

    在Node.js中编写自己的事件发射器代码:循序渐进指南

    这不仅有助于你编写更高效的异步代码,还能帮助你在设计模式中运用这一概念,如中介者模式、观察者模式等。 继续深入学习,你可以考虑以下扩展点: 1. 处理错误:在Node.js的`EventEmitter`中,有一个`error`事件...

    51旅游微信小城序源码

    再者,“源码”意味着我们可以深入研究每一行代码,学习其设计模式和编码规范。对于初学者,这是一个很好的学习资源,可以理解如何组织项目结构,如何优化性能,以及如何处理错误和异常。对于有经验的开发者,源码...

    java毕业设计&课设-全栈式某信小呈序开发 (视频+源码).zip

    - **源码分析**:通过阅读源代码,可以学习到实际项目中的编程规范、设计模式以及问题解决策略。 4. **额外支持**: - 提供的百度网盘链接保证了资源的长期可访问性,即使文件较大也能方便下载。 - 助教老师协助...

    循序渐进学VRML-快速使用

    【VRML:虚拟现实建模语言】 ...总之,通过《循序渐进学VRML》的学习,你将能够熟练地使用VRML进行3D设计,创建出栩栩如生的虚拟世界,无论是用于教育、娱乐还是工业应用,VRML都能提供强大的工具和无限的创意空间。

    java毕业设计&课设-某信小呈序项目实战(视频+源码).zip

    3. **MVC/MVVM架构**:该项目可能采用了Model-View-Controller (MVC) 或 Model-View-ViewModel (MVVM) 架构模式,这是常见的软件设计模式,用于分离业务逻辑与用户界面。学习者可以通过实践理解这两种架构如何提高...

    程 序 员 考 试 试 卷

    - **设计模式**:单例、工厂、装饰器等23种GOF设计模式的应用。 6. **文件格式**: - **PDF(便携式文档格式)**:由Adobe公司开发,用于跨平台的文档交换,包含文本、图像、图形等元素,通常用于保证文档的原貌...

Global site tag (gtag.js) - Google Analytics