1、dojo.connect(
/*Object|null*/ obj, 对dom节点的引用,注意使用dijit.byId(),,不要使用dojo.byId()
/*String*/ event, 事件
/*Object|null*/ context, 事件处理函数所属的范围
/*String|Function*/ method, 事件处理函数,可以是函数名字符串;函数只接收一个event参数(事件对象),不返回任何数据。
/*Boolean?*/ dontFix)
例如:
dojo.connect(obj, "onchange", ui, "update");
dojo.connect(obj, "onchange", ui, ui.update); // same
事件处理函数接收的事件对象参数,包括很多有用的属性:
target:事件触发的dom节点
layerX/Y、pageX/Y:鼠标所在位置,其中前者是相对于触发事件的节点而言的,后者是在浏览器中的位置。
Type:事件对象类型,前面不带on,如click
charCode:按键按下时的键盘码
AOP编程:将程序执行的某些类型也看作是事件。例如:执行一个函数也当作是事件,在执行完后触发另一个事件。
针对AOP的 Dojo.connect(obj,method,obj1,method1):obj所属的method方法执行完后,会触发obj1的method1方法的执行。
例如:
dojo.connect(ob, "onCustomEvent", null, "customEventHandler");
//When ob.onCustomEvent executes, customEventHandler is invoked:
2、dojo.disconnect();解除事件绑定