Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Tree: ca5f9f3f63
Fetching contributors…

Cannot retrieve contributors at this time

846 lines (453 sloc) 22.323 kB


The dojo directory contains three categories of modules:

  • dojo.js - the bootstrap
  • dojo/_base - basic functionality historically pulled in as part of dojo.js, and historically existing directly under the dojo namespace
  • "dojo core" - more advanced functionality under a sub-namespace under dojo like dojo.dnd

Each category is described in detail below.


This file provides the bootstrap for loading other modules, in particular the require() function, previously known as dojo.require().

See the :ref:`loader documentation <loader/index>` for details.

For backwards-compatibility, when dojo.js is included without the async:false configuration flag, all the symbols in dojo/_base are implicitly loaded.


The dojo/_base directory contains modules with basic functionality, such as array operations. Typically, if a function or class exists within the dojo namespace directly (eg: dojo.forEach()) then it is defined in dojo/_base.

However, note that the modules in dojo/_base are being phased out in favor of top level modules in the dojo/ directory. The dojo/_base files will be maintained until the 2.0 release. See details below for replacement modules.

Configuring Dojo (dojo/_base/config)

Array utilities (dojo/_base/array)

Details on dojo.every, dojo.filter, dojo.forEach, dojo.indexOf, dojo.lastIndexOf,, and dojo.some. See the :ref:`Array QuickStart <quickstart/arrays>` for an overview.

Language Utilities (dojo/_base/lang)

HTML Utility (dojo/_base/html)

The :ref:`dojo/_base/html <dojo/_base/html>` module contains basic DOM & HTML handling functions for backward compatibility purpose.

New code should use the dojo/dom* modules (see "Dojo core" section below for details).

Deferred Utility (dojo/_base/Deferred)

Kernel (dojo/_base/kernel)

from 1.7 + dojo/_base/kernel module collects following part of dojo APIs

Window (dojo/_base/window)

from 1.7 + dojo/_base/window module collects following part of dojo APIs

Effects (dojo/_base/fx)

Connect (dojo/_base/connect)

This module provides event handling for DOM nodes, and AOP for functions. However, it is superseded by the :ref:`dojo/on <dojo/on>`, :ref:`dojo/aspect <dojo/aspect>`, and :ref:`dojo/topic <dojo/topic>` modules, which should be used for new code.

The methods defined in this module are:

NodeList (dojo/_base/NodeList)

Event (dojo/_base/event)

The :ref:`dojo/_base/event <dojo/_base/event>` module defines dojo DOM event API. See the dojo/_base/connect section above.

Document Lifecycle - Unload (dojo/_base/unload)

Ajax / XHR (dojo/_base/xhr)

Package System (defined in dojo/_base/loader)

This module is defining deprecated symbols for loading. See the :ref:`loader documentation <loader/index>` for details on new replacement API's.

JSON Tools (dojo/_base/json)

Objects / OO Tool (dojo/_base/declare)


Miscellaneous Base

Dojo Core

If the function or class exists beneath the dojo namespace (eg: dojo.dnd.Mover), it is defined in "dojo core" and you will need to require the appropriate module (eg: dojo.require("dojo.dnd.Mover");) to use it.

DOM (dojo/dom*)

from 1.7 + dojo/dom module collects following part of dojo APIs

IO-Query (dojo/io-query)

Robot (dojo/robot & dojo/robotx)

  • :ref:`dojo/robot <dojo/robot>`

    Users who use doh+dojo get the added convenience of dojo.mouseMoveAt instead of computing the absolute coordinates of their elements themselves

  • :ref:`dojo/robotx <dojo/robotx>`

    Loads an external app into an iframe and points dojo.doc to the iframe document, allowing the robot to control it

Document Lifecycle - Onload (dojo/ready)

AJAX I/O transports (dojo/io/*)

AJAX RPC transports (dojo/rpc/*)

Query (dojo/query)

NodeList (dojo/NodeList-*)

Browser's History (dojo/back & dojo/hash)

Data (dojo/data)

Store (dojo/store)

Cache (dojo/cache)

Date (dojo/date)

DND (dojo/dnd)

Miscellaneous Core

See also

Jump to Line
Something went wrong with that request. Please try again.