`
fydddasas
  • 浏览: 40023 次
  • 性别: Icon_minigender_1
  • 来自: 海南
社区版块
存档分类
最新评论

使用dojo.connect()时要注意的几个问题

阅读更多
使用dojo.connect()添加事件处理器是很方便的,不用再考虑跨浏览器的问题了。但要想正确地使用这个方法,仍然要注意几个问题:
        1、用dojo.byId()获取的是dom元素,而用dijit.byId()获取的是dojo widget,这两点是有根本不同的。
        2、事件名称的大小写很关键,如果对dom元素添加事件处理器,事件名称要小写,例如click事件,可以用click或者onclick都行,但一定要把c字母小写;如果对dojo widget添加事件处理器,事件名称必须符合dojo的规范,例如click事件,一定要写成onClick,字母o是小写,而字母c一定要大写。
        3、如果要对某个页面元素添加事件处理器,一定要根据这个元素是dom元素还是dojo widget,分别使用dojo.byId()或dijit.byId()来获取元素引用。如果乱用,那么结果可能会添加失败或出现不正常的情况。
        注意以上这几个问题,正确使用好dojo.connect()方法是没有问题的。
        例一:
<button id="btn">Click Me!</button>
<script type="text/javascript">
        dojo.connect(dojo.byId('btn'), 'onclick', null, handler);
</script>
        例二:
<button id="btn" dojoType="dijit.form.Button" label="Click Me!"></button>
<script type="text/javascript">
        dojo.connect(dijit.byId('btn'), 'onClick', null, handler);
</script>


分享到:
评论

相关推荐

    Pragmatic.Bookshelf.Mastering.Dojo.Jun.2008.pdf

    在本书中,作者深入探讨了以下几个主要知识点: 1. **Dojo基础**:首先,读者会了解到Dojo的核心概念,如dojo.js加载器、dojo.declare用于类定义、dojo.connect用于事件处理,以及dojo.query用于DOM查询。这些基础...

    dojo快速入门文档

    本文档旨在帮助初学者快速掌握 Dojo 的基本用法,并通过几个实用示例介绍如何在项目中使用 Dojo。 #### 二、环境搭建与基本配置 为了能够开始使用 Dojo,首先需要确保项目中有正确的文件结构和必要的配置。根据...

    dojo常用方法总结

    本文将详细介绍Dojo中几个常用的方法,包括元素的获取、事件的监听、数组的遍历等。 #### 1. dojoready `dojoready` 是Dojo中的一个非常重要的函数,它的作用类似于jQuery中的`$(document).ready()`,用于确保文档...

    dojo1.4.1代码下载

    Dojo 1.4.1 包含了以下几个关键知识点: 1. **模块管理**:Dojo 提供了一个模块加载系统,称为`dojo.require`,允许开发者按需加载所需的功能模块,提高了代码的组织性和性能。此外,它还支持AMD(Asynchronous ...

    dojo官网的源码dojo官网的源码

    在Dojo源码中,我们可以深入探索以下几个关键知识点: 1. **模块系统**:Dojo的模块系统是基于AMD(Asynchronous Module Definition)规范的,它允许异步加载和组织代码,使得大型项目管理更加高效。`dojo/_base/...

    Dojo之Widget标签开发 - 我为人人,人人为我 - BlogJava

    Dojo的Widget开发涉及以下几个关键概念: 1. **dojo.declare**: 这是Dojo用于创建类的函数,它允许我们定义一个基于其他类的新类。在Widget开发中,通常会声明一个新的Widget类,继承自Dojo的基础Widget类,如`...

    dojo处理三级连动

    在Dojo中实现这样的功能,我们需要以下几个核心组件和技术: 1. **dijit/form/Select**:Dojo的Select组件提供了下拉菜单的功能,它可以方便地与后台数据源绑定,实现动态加载和更新。 2. **dojo/on**:这是一个...

    利用Dojo和JSON建立无限级AJAX动态加载的功能模块树

    为了实现无限级动态加载的功能模块树,我们需要以下几个关键步骤: 1. **前端界面搭建**:使用HTML、CSS和Dojo框架来构建前端界面。 2. **数据交互**:通过AJAX请求从服务器端获取数据,并使用JSON格式传输数据。 3...

    arcgis api 3.x for js入门开发系列九热力图效果.zip

    要创建热力图,你需要以下几个关键步骤: 1. **初始化地图**:首先,你需要在HTML页面中设置一个div元素作为地图容器,并在JavaScript中使用`esri.Map`类创建一个新的地图对象。指定初始中心位置、级别和底图服务。...

    dojo-phone-cat:Dojo 版本的 Angularjs PhoneCat 教程

    在将PhoneCat从AngularJS移植到Dojo的过程中,开发者会遇到以下几个关键点: 1. **模块化**:AngularJS使用其自己的依赖注入系统,而Dojo使用AMD来管理模块。开发者需要将AngularJS的服务、控制器和指令转换为Dojo...

    arcgis for js栅格图层叠加(Raster Layer)问题

    在ArcGIS for JavaScript API中,图层叠加是一个常见的操作,特别是在构建复杂的地图应用时。然而,对于特定的栅格图层(Raster Layer),有时会出现一些挑战。本文将深入探讨在尝试叠加栅格图层时遇到的问题及其...

    OpenAjax_Hub_2.0.7.rar_WEB开发_JavaScript_

    OpenAjax Hub包含以下几个关键组件: 1. **OpenAjax Manager**: 这是OpenAjax Hub的基础,负责管理所有参与者,确保它们之间的通信符合OpenAjax联盟制定的规范。它提供了发布/订阅模型,让参与者可以通过发布事件来...

Global site tag (gtag.js) - Google Analytics