Dijit components are handy encapsulations or user interface functionality. That's what made Visual Basic's component based technology so appealing twenty years ago.
Widgets are components in the abstract sense, but what are they from a coding standpoint?
So far, we have a vague idea, at least for the declarative case, that a widget is a snippet of HTML with a dojoType, like this:
<div dojoType="dijit.layout.ContentPane" href="http://localhost/too/many/slashes.html" ></div>
There are four main ways to get a widget refrence:
- You can use dijit.byId(id). This is sueful if you had set the id= attribute on your widget
- You can use dijit.byNode(nodeVariable) when you don't have the id attribute but you have the DOM node itself. You can usually get the node with dojo.query
- Similarly, dijit.getEnclosingWidge(nodeVariable) will get the "nearest" widget surrounding it, if you have a DOM node inside the widget.
- You can read an attribute or call a method on another object that returns a widget. For example, the attribute adjacent of dojo.layout.StackContainer gives you back a widget