dojo之异步编程

来源:互联网 发布:淘宝天猫双十一销售额 编辑:程序博客网 时间:2024/06/02 11:44

键盘事件对象:

function someKeyDownHandler(eventObj)

{

   switch(eventObj.keyCode){

      case dojo.keys.F10:

          console.debug('you may press F10');

          break;

  }

}

 

eventObj.shiftKey

dojo.stopEvent(eventObj)   等价于  eventObj.stopPropagation();   eventObj.preventDefault();

 

关联处理函数

关联处理函数与DOM事件:dojo.connect(obj,event,context,handler)

等同于 W3C  DOM的obj.addEventListener(event,dojo.hitch(context,handler));

利用dojo.addOnLoad执行初始化代码。可以被调用多次,所有作为参数传入的函数严格按照它们被注册的顺序执行。

dojo.addOnLoad的调用参数可以是一个函数的引用或者一个对象的函数名。

如:  dojo.addOnLoad(f);

         dojo.addOnLoad(function(){});

         dojo.addOnLoad(o,"f");

 

关联用户自定义事件

 function giveMessage(functionName,args){
var message = "In" + functionName + "; the arguments are: ";
dojo.forEach(args,function(args){message+= args.toString()+ " ";});
console.log(message);
}

function printArgs(){
giveMessage("printArgs",arguments);
}

function firstHandler(a1,a2){
giveMessage("firstHandler",arguments);
}

function secondHandler(a1,a2){
giveMessage("secondHandler",[a1,a2]);
}

dojo.connect("printArgs",null,"firstHandler");
dojo.connect("printArgs",null,"secondHandler");
printArgs(1,2);

        触发函数    处理函数

       dojo.connect("printArgs",...)     第一个参数为字符串时,关联的为用户自定义函数。

结果会显示:

        InprintArgs; the arguments are: 1 2 

        InfirstHandler; the arguments are: 1 2 

        InsecondHandler; the arguments are: 1 2 

原创粉丝点击