dojo事件机制详解(一)

概述

dojo中的事件实现并不复杂,当然我只是从代码量的角度出发,但含金量还是很高的,而且很容易实现自定义事件监听,还支持发布订阅模式,下面我们从源代码级别来看看
dojo中的事件机制是如何实现的,深入了解后,甚至可以将其拷贝出来直接就能在其它使用。
事件机制使用中主要涉及以下4个函数:
1. dojo.connect(); 建立事件监听连接
2. dojo.disconnect(); 断开事件监听连接
3. dojo.publish(); 发布主题
4. dojo.subscribe(); 订阅主题
5. dojo.unsubscribe(); 取消订阅主题
该篇中先讲connect机制,而发布订阅实现中也使用到了connect机制,将在后一篇中讲解。


示例

讲解之前先看一个示例:
function Foo() {
	this.name = "Foo";
	this.output = function() {
		var result = "output function in " + this.name;
		console.info(result);
		return result;
	};
}

function Bar() {
	this.name = "Bar";
	this.output = function() {
		var result = "output function in " + this.name;
		console.info(result);
		return result;
	}
}

var foo = new Foo();
var bar = new Bar();

//非dom node事件监听
var handle = dojo.connect(foo, "output", bar, "output");
foo.output();	//会触发bar.output调用
dojo.disconnect(handle);	//断开连接

//为dom node添加事件监听
handle = dojo.connect(dojo.byId("someId"), "click", function(){
	// do something
});
//移除事件监听
dojo.disconnect(handle);

dojo._listener对象

在讲解connect
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值