Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 网站建设 > PHP > Dojo入门(3)—事件
【标  题】:Dojo入门(3)—事件
【关键字】:Dojo
【来  源】:http://blog.csdn.net/mint/archive/2006/12/22/1452885.aspx

Dojo入门(3)—事件

Your Ad Here  

 

介绍

跟一般意义上的Web程序员的DOM事件不同,Dojo支持更广泛意义上的事件。使用dojo.event.*工具,开发者可以处理任何可以被监听到的事件(包括DOM事件)。使用DOJO,程序可以使用一致的方法来监听任何动作。

在这章文章中我们将向你展示:

·如何使用这些工具;

·为什么它跟你以前使用的javascript事件系统完全不同;

·为什么没有dojo.event.connect()你就不想写javascript程序;:-)

示例:

使用dojo.event.connect()能帮助你handle需要的DOM节点中的动作:

var handlerNode = document.getElementById("handler");

 

function handleOnClick(evt){

    // ...

}

 

dojo.event.connect(handlerNode, "onclick", "handleOnClick");

 

一般说来,IE会容易我们的书写的函数中的第一个参数:DOM事件对象,IE会要求使用window.event.connect()方法显式安装这个对象,用来确认是否传送了此对象,如果没有则忽略掉。现在,使用我们的connect(),你可以不再写这样的代码了。

如果你不想命名你的函数呢?下面的代码跟上面的代码是等价的:

var handlerNode = document.getElementById("handler");

 

dojo.event.connect(handlerNode, "onclick", function(evt){

    // ...

});

 

至此,我们可以完成将DOM节点的onclick事件跟函数相联了,虽然我们什么都没有做。但,如何将Dom节点的事件跟一个对象的方法(要知道:js可是一个oob语言了)相关联呢?一般说来,我们可以这样做(一般js的做法)

var handlerNode = document.getElementById("handler");

 

handlerNode.onclick = function(evt){

    object.handler(evt);

};

 

Dojo而言,则可以这样:

 

var handlerNode = document.getElementById("handler");

 

dojo.event.connect(handlerNode, "onclick", object, "handler");

connetc()可以确保handlerNode.onclick()被调用时,object.handler()同样也能被调用。javascript的语法限制了将objectfunction写在一起传递,使用分割的方式可以同样实现这一点。

connect()也可以显示的支持多监听器,它们将按它们注册的顺序执行。例如:

var handlerNode = document.getElementById("handler");

 

dojo.event.connect(handlerNode, "onclick", object, "handler");

dojo.event.connect(handlerNode, "onclick", object, "handler2");

connetc()可以确保handlerNode.onclick()被调用时,object.handler()同样也能被调用。javascript的语法限制了将objectfunction写在一起传递,使用分割的方式可以同样实现这一点。

connect()也可以显示的支持多监听器,它们将按它们注册的顺序执行。例如:

var handlerNode = document.getElementById("handler");

 

dojo.event.connect(handlerNode, "onclick", object, "handler");

dojo.event.connect(handlerNode, "onclick", object, "handler2");

 

 

关于html中的执行过程:【上一篇】
动态生成SQL查询条件定制表单及语句的脚本:【下一篇】
【相关文章】
  • Dojo入门之(2)—Widget
  • 快速创建 Dojo Widget
  • dojo tree 代码汇总,基本上功能都全
  • dojo tree:program create tree
  • dojoTree Controller(1)
  • dojoTree Controller(2)
  • dojoTree Controller(3)
  • dojoTree TreeSelector
  • AJAX,Prototype,Dojo实例对比
  • Dojo 0.4 新特性
  • 【随机文章】
  • lmule的安装与使用
  • debian sarge 3.1下的LANG LANGUAGE LC_ALL的一些结论
  • 晒得黑了,倒没了感觉
  • 脚本文件的创建和使用
  • Windows 2000自定义活动桌面
  • 学习AS绘图
  • 在EXCEL中“随叫随到”
  • 关于RIDE
  • SetTimer()函数的剖析(API)
  • 架构设计中的方法学(8)——架构愿景(1)
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.