1,创建Widgets:dojo可以这样创建Wedgets:
<input dojoType="ComboBox" value="default" dataUrl="comboBoxData.js">
Click me
var myButton = dojo.widget.byId("foo");
也可以这样创建:
创建一个Editor并显示:
var editor = dojo.widget.createWidget("Editor2", { });
document.body.appendChild(editor.domNode);
创建时使用properties:
var btn = dojo.widget.createWidget("Button", { label: "Press me", disabled: false });
带innerHTML的Wedgets:
var srcNode = document.createElement("div");
srcNode.innerHTML="This is my content";
var btn = dojo.widget.createWidget("Dialog", {}, srcNode);
菜单:
var menu = dojo.widget.createWidget("PopupMenu2", {targetNodeIds: ["test1", "test2", "testwithindiv"]});
menu.addChild(dojo.widget.createWidget("MenuItem2", {caption: "MENU 1"}));
menu.addChild(dojo.widget.createWidget("MenuItem2", {caption: "MENU1-Item 1"}));
menu.addChild(dojo.widget.createWidget("MenuItem2", {caption: "MENU1-Item 2"}));
2,与Widgets交互
创建后的Wedgets可以这样取得引用:
var myButton = dojo.widget.byId("foo");
当然创建的时候本身就可以得到引用:
var myButton = dojo.widget.CreateWidget("Button", {caption: "click me"});
设置Widgets属性:
myButton.setCaption("Don't press me!!");
注意象下面那样做事没有用的,因为Widgets并不知道属性变了:
myButton.caption="this won't do anything";
另外:disable属性用disable()/enable() 函数来设置
两个重要的只读属性:
-
domNode - points to the node that replaced your original markup (the [button] tag in the example above)
-
containerNode - points to the node that contains the contents of the original markup ("Click me" in the example above)
form1.appendChild(btn.domNode);
3,给Widgets注册事件
可以这样:
<button dojoType="Button" onClick="alert('hello world')">
注意:不像dom事件是全部小写的
以前已经学习过使用connect来注册事件监听器了。
dojo.event.connect(myButton, onValueChanged, function(x){
alert("new val is " + x);
});
4,Widgets的显示和隐藏
- myButton.show() - 显示
- myButton.hide() - 隐藏
- myButton.toggle() - 转换显示/隐藏
- isShowing() - 判断Widgets现在是否正在显示?
在隐藏和显示切换的时候可以用4种动画:
- plain
- fade
- wipe
- explode(经常用于tooltip)
这样设置:
<div dojoType="FloatingPane" toggle="fade" toggleDuration="250">
分享到:
相关推荐
2. Dojo Widgets(组件): Dojo 的强大之处在于其丰富的Widget系统。`dojo_widget.doc` 可能详细介绍了这些组件,如按钮、表单、菜单、日历等。Widgets使得开发者可以快速构建复杂的用户界面,它们封装了HTML结构...
教程会详细讲解如何创建和使用Dojo Widgets,以及如何自定义组件以满足特定需求。 此外,Dojo的数据绑定机制使得视图与模型之间的同步变得更加简单。DataStore是Dojo用来存储和管理数据的组件,它可以连接到各种...
使用 Dojo Widgets Dojo Toolkit 提供了大量的 Widget,这些 Widget 可以直接在 HTML 中通过特定的标记来使用。它们为常见的用户界面元素提供了预定义的行为,大大简化了界面的设计过程。例如,可以使用 `dijit....
- 如何继承Dojo现有的Widgets。 - 如何使用Templating和Widgets-in-Templates技术。 - 学习如何处理复杂的用户交互逻辑。 3. **性能优化技巧**:提供了一系列提高Dojo应用性能的方法。 - 使用AMD(Asynchronous...
Dojo提供了一系列强大的组件(Widgets),可以帮助开发者快速构建复杂的应用程序界面。基于HTML5扩展Dojo Widget的主要优势包括: - **增强的UI表现**:利用HTML5的Canvas和SVG,可以创建更加动态和美观的UI元素。 ...
Dojo提供了一系列丰富的功能,包括但不限于小部件(Widgets)系统、强大的数据处理能力以及优秀的UI组件等。 #### 二、Dojo的核心特点 1. **强大的组件库**:Dojo提供了大量的UI组件,这些组件可以轻松地被集成到...
这些代码可能涵盖了一些基本概念,如创建Dojo widgets、使用ExtJS的布局管理、数据绑定、事件处理、以及如何与其他JavaScript库或服务(如Ajax请求)进行交互。通过分析和实践这些代码,开发者可以深入理解这两个...
1. **组件库**:Dojo提供了一系列组件,如widgets,能够增强Web应用的可用性、交互性和功能性。 2. **降级友好的用户界面**:通过Dojo,可以轻松创建适应不同浏览器环境的用户界面,它的小巧组件和动画过渡功能使得...
- **dojo Widgets**:列出并解释了dojo提供的常用控件及其用途,帮助快速构建用户界面。 - **dojo示例应用程序(dojo example application)**: - **项目布局(Project layout)**:描述了典型dojo应用程序的目录结构...
- **富客户端**:如DOJO Widgets、YUI、FCKEditor和Coolest日历控件,它们提供丰富的用户界面组件,便于实现AJAX交互。 - **JavaScript框架**:Prototype.js是一个流行的JavaScript库,简化了AJAX应用的开发。还有...
在Dojo中,Widgets(部件)是构建用户界面的基本单元。"Dojo Widget Overview"可能详细介绍了Dojo的组件系统,包括按钮、表单元素、布局容器等。Dojo的部件设计灵活,可以进行高度定制,同时支持主题化,以适应不同...
- **富客户端库**:如DOJO Widgets、YUI、FCKEditor和Coolest日历控件,这些库提供了丰富的客户端交互元素,支持AJAX,便于创建动态用户界面。 - **JavaScript框架**:Prototype.js是一个流行的选择,它简化了AJAX...
3. **Widget系统**:Dojo的UI组件(Widgets)是其一大特色。这些组件包括按钮、表格、对话框、滑块、进度条等,如`dijit/form/Button`。每个组件都是模块化的,可自定义样式和行为,易于扩展和复用。 4. **Dojo ...
- `dojo.forms`:与表单相关的Widgets库。 - `dojo.layout`:页面布局的Widgets库。 - `dojox.*`:扩展和实验功能,如图表绘制、集合数据结构、加密算法等。 ### 4. 在EP3开发框架和ArcGIS Server中的应用 DOJO在...
同时,还可以利用Dojo的Data Stores(数据存储)和Widgets(组件)来创建交互式的用户界面,例如Grid、Tree等,进一步提升用户体验。 标签"dojo"提示我们关注的重点是Dojo框架本身,所以了解Dojo的模块系统、主题、...
Dijit是dojo工具包中的一个项目,它提供了一系列封装和可重用的组件(widgets)。这些组件具有可访问性、可扩展性和主题化的特性,有助于构建富交互性的Web应用和网站。Dijit的API允许开发者自定义或配置现有组件的...
EDT Mobile Runtime 主要包含两大模块: Dojo mobile widgets & PhoneGap mobile widgets a. org.eclipse.edt.rui.dojo.mobile.nightly: provides dojo egl mobile widgets support.(使用请参考sample) b. org....