Dojo学习笔记(8. dojo.event & dojo.event.topic & dojo.event.browser)
2010-09-14 13:33:56 来源:WEB开发网模块:dojo.event
终于进入有名的dojo事件处理系统的学习了,学习前建议读者先去补习一下AOP的相关知识
dojo.event.connect
绑定指定的方法到指定的对象的方法上
Usage Example:
简单绑定1
function doOnClick1()
{
alert("Clicked!");
}
dojo.event.connect(dojo.byId("inputTest"),"onclick","doOnClick1");
简单绑定2
obj = { doOnClick2: function(){ alert("Clicked!");}}
dojo.event.connect(dojo.byId("inputTest"),"onclick",obj,"doOnClick2");
如果存在需要进行多个事件的绑定的时候,你就会看到dojo的方便之处了
obj2 = { doOnClick2: function(){alert("Clicked!");}}
dojo.event.connect(dojo.byId("inputTest"),"onclick",obj,"doOnClick2");
dojo.event.connect(dojo.byId("inputTest"),"onclick",obj2,"doOnClick2");
connect可以对任何对象的方法进行绑定,而不是只能针对DOM对象
dojo.event.connect(obj,"doOnclick2","doOnClick1"); //在调用obj.doOnclick2()后调用doOnClick1()
dojo.event.connectBefore
dojo.event.connect默认是后绑定,connectBefore则是早绑定,绑定的方法将在指定方法前执行,用法与connect一致
dojo.event.connectAround
Usage Example:
function aroundTest(invocation){
说起这个函数,还真的是让我想了半天,直觉上我就把它想象成executeOnce,结果测试的结果让我差点想不通
//此处可以增加代码,比如检查参数(invocation.args)
var result = invocation.proceed();
//此处可以增加代码,比如修改结果(result)
return result;
}
dojo.event.connectAround(dojo.byId("inputTest"),"onclick","aroundTest");
dojo.event.connectOnce
赞助商链接