情景:迭代一个元素列表,为其绑定事件。
JS做法:
var nodes = getSomeNodes();
for (var i=0; i<nodes.length; i++){
nodes[i].onclick = function(){
/* find the index, or the i below will always be the last node's index
for(var j=nodes.length; j>=0; j--){
if(this == nodes[j])
break;
}
*/
console.debug('you selected ',i);
}
}
dojo做法:
var nodes = getSomeNodes();
var i =0;
dojo.forEach(nodes, function(node, i){
node.onclik = function(){
console.debug('you selected ',i);
}
});
分享到:
相关推荐
这个特定的版本,"dojo-release-1.8.0",是Dojo框架的1.8.0迭代,它包含了一系列的工具、模块和资源,旨在帮助开发者构建功能丰富的、高性能的网页应用。 Dojo是一个开放源代码的JavaScript工具包,它的核心设计...
Dojo 0.9 是Dojo工具箱的早期版本,它提供了基础的JavaScript功能,如DOM操作、事件处理、AJAX通信等。此版本的Dojo着重于模块化和组件化的开发模式,允许开发者通过加载不同的模块来定制自己的应用,减少了代码的...
1. **Core**:这是Dojo的核心模块,提供了基础的JavaScript工具和实用程序,如异步加载机制(AMD,Asynchronous Module Definition),DOM操作,事件处理,以及国际化和本地化支持。1.4.0版本可能包含对这些核心功能...
require(["dojo/dom", "dijit/registry", "dojo/parser"], function(dom, registry, parser) { // 当以上模块加载完成后,执行回调函数 function update() { var viewNode = dom.byId("view1"); var view1 = ...
1. **模块化系统**:Dojo 1.2.4 使用了AMD(Asynchronous Module Definition)规范,允许开发者异步加载和管理JavaScript模块,提高了页面加载速度和代码组织性。`dojo/require` 和 `dojo/ready` 是这个系统中的关键...
例如,你可以使用Dojo的`dojo.query()`获取一组DOM元素,然后利用NodeList的特性遍历并操作这些元素。例如: ```javascript var nodes = dojo.query(".myClass"); for (var i = 0; i ; i++) { nodes[i].style....
Dojo提供了一系列方便的DOM操作函数,如`dojo.byId`用于通过ID选择DOM元素,`dojo.query`用于使用类似CSS的选择器语法来查找DOM节点,以及`dojo.forEach`和`dojo.filter`等用于数组迭代和过滤的函数。这些函数简化了...
Dojo 是一个强大的JavaScript工具库,它为Web开发提供了丰富的功能和组件,包括模块化、动画效果、事件处理以及文档对象模型(DOM)操作等。本压缩包包含的文件是制作Dojo Document API的离线版本所必需的,主要用于...
- **隐式迭代**:在对集合进行操作时,jQuery会自动迭代每个元素。 - **行为层和结构层分离**:jQuery更倾向于将行为(JavaScript)和结构(HTML)分离,易于管理。 - **丰富的插件机制**:jQuery允许开发者创建...
- **隐式迭代**:对于一组元素的操作,无需手动进行循环,jQuery会自动对匹配到的所有元素执行相应的方法。 - **事件处理**:简化了事件绑定和触发的过程,使得事件处理变得更加简单直观。 - **Ajax支持**:jQuery...
- **页面载入**:使用`$(document).ready(callback)`或简写`$(callback)`确保在DOM加载完成后执行指定函数。避免与元素的onload事件冲突。 - **核心函数**:`$(expression,[context])`是jQuery的核心,接收CSS选择...
React使用虚拟DOM(Document Object Model)来优化性能,使得更新UI变得高效。 **Node.js** Node.js是一个开放源代码、跨平台的JavaScript运行环境,它允许开发者在服务器端运行JavaScript代码。Node.js使用V8引擎...
- **与Dojo**:Dojo 提供了更全面的工具集,包括模块加载、国际化和高级UI组件,而Prototype则更专注于基础的JavaScript扩展和DOM操作。 6. **学习资源与进阶** 学习Prototype 1.4.0,除了阅读CHM文档,还可以...
总之,虽然Dojo存在一些不足,如文档不全和快速迭代导致的API变动,但其强大的控件系统和面向对象的特性使其在Web开发领域占有一席之地。通过理解Dojo的控件生命周期和基础API,开发者可以高效地创建出功能丰富的...
通过Prototype,开发者可以使用简洁的语法进行元素的选择、创建、修改和删除。例如,`Element.extend`方法允许扩展任何DOM元素的功能,而`$`函数则是一个快速定位DOM元素的实用工具,这在处理复杂页面结构时极大地...
1. **jQuery**:jQuery是最广泛应用的JavaScript框架之一,以其简单易用的API闻名。它提供了DOM操作、事件处理、动画效果和Ajax交互等功能,同时拥有庞大的插件生态系统,覆盖了各种应用场景。 2. **Dojo**:Dojo是...
例如,可以使用CSS的背景颜色来区分活细胞和死细胞,然后在每次迭代后更新DOM以反映变化。 6. **控制逻辑**:为了控制游戏的运行,可能还会包含开始、暂停、重置等用户交互功能。这些功能可以通过事件监听器与...
这段代码会在id为`viewDiv`的DOM元素中创建一个显示洛杉矶的地图。 4. **图层操作** ArcGIS API支持多种图层类型,如栅格图层、矢量图层、地形图层等。你可以动态添加、移除图层,调整图层顺序,并对图层进行各种...