Dialog相对应于 HTML 的对话框,是一个模式对话框。用户能通过此 widget 上的关闭按钮关闭此对话框,同时也可以在此对话框上放置表单 widgets,并且可以在此对话框上直接提交表单。对话框包括两种,一种是普通的对话框,一种是提示窗口的对话框,用起来都很方便。Dialog的属性和方法如表8-17和8-18所示。
表8-17 Dialog 的属性
属性 描述
duration 对象处于活动状态的时间段。
errorMessage 错误提示信息,可以在 loading.js 文件中更改默认信息。
extractContent 当取回的内容是页面时,判断是否抽取页面标签 <body> … <//body> 内的可见的内容。
href 当前实现内容的超链接。如果在构造 ContentPane widget 的时候设置此项,就可以在 widget 显示的时候加载数据。
isLoaded 设置加载状态。
loadingMessage 加载时显示的信息,同 errorMessage 一样可以在 loading.js 文件中更改默认信息。
parseOnLoad 解析取回的内容,如果有 widgets 的声明,会实例化 widgets 。
preload 强制加载数据。
preventCache 判断是否缓存取回的外部数据。
refreshOnShow 在本 widget 从隐藏到展现时,判断是否刷新数据。
title 窗口的标题。
表8-18 Dialog的方法列表
方法 描述
cancel() 取消进行中的内容下载
refresh() 强制刷新
resize(/* String */size) 此方法可以重新设置 widget 的大小。
setContent(/*String|DomNode|Nodelist*/data) 代替原有的内容,替换为新的内容。这个方法经常用到,可以动态向 ContentPane 中输入其他 widgets 。
show 显示窗口。
hide 隐藏窗口。
setHref(/*String|Uri*/ href) 替换原有的超链接,通过 XHR 的形式异步获取数据,然后重置此 widget 中的内容。
下面就是一个使用Dialog的例子,实现代码如下:
<html>
<head>
<title>Dialog</title>
<style type="text/css">
@import "dojoapp/dojo/resources/dojo.css";
@import "dojoapp/dijit/themes/tundra/tundra.css";
</style>
<script type="text/javascript"
djConfig="parseOnLoad: true, isDebug: true"
src="dojoapp/dojo/dojo.js"></script>
<script type="text/javascript">
dojo.require("dijit.Dialog");
function showDia(){
dijit.byId("dialog1").show();
}
function hideDia(){
dijit.byId("dialog1").hide();
}
//以编程的方式创建对话框
dojo.require("dijit.Dialog");
function showDia2(cont){
var pane=dojo.byId("dialog2");
if(!pane){
pane=document.createElement("DIV");
pane.setAttribute("id","dialog2");
pane.style.width = "300px";
document.body.appendChild(pane);
}
pane.innerHTML=cont;
var dia=new dijit.Dialog({title:"dojo对话框"},pane);
dia.show();
}
</script>
<style>
.dijitDialogUnderlay {
background: #666666;
opacity: 0.5;
}
</style>
</head>
<body class="tundra"><br/>
<button id="b1" onclick="showDia()">录入用户信息对话框</button>
<button id="b2" onclick="showDia2('以编程方式实现对话')">编程方式对话框</button>
<br>
<div dojoType="dijit.Dialog" id="dialog1" closeNode="hider"
title="填写表单">
<form onsubmit="return false;">
<table>
<tr>
<td><label for="name">姓名:</label></td>
<td><input type="text" id="name"></td>
</tr>
<tr>
<td><label for="loc">性别:</label></td>
<td><input type="text" id="loc"></td>
</tr>
<tr>
<td><label for="desc">年龄:</label></td>
<td><input type="text" id="desc"></td>
</tr>
<tr>
<td><label for="fileloc">电子邮件:</label></td>
<td><input type="file" id="fileloc"></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="button" id="hider" value="确定" onclick="hideDia()">
</td>
</tr>
</table>
</form>
</div></body>
</html>
在上面程序中,分别通过HTML和编程方式创建一个对话框,用程序创建一个窗口方法为new dijit.Dialog({title:"dojo对话框"},pane),其中要在pane窗口中显示的HTML内容。
程序运行后,在出现的页面中单击“录入用户信息对话框”按钮后,出现如图8-27所示对话框。
分享到:
相关推荐
本文内容包括:Web2.0与Dojo介绍解决Dojo性能问题的常见技巧检测性能瓶颈的工具小结参考资料Web2.0应用程序最注重的一个方面就是用户体验,用户希望使用的是一个快速稳定的Web2.0应用。而基于Dojo的Web2.0应用经常...
dojo-release-1.4.2-src.tar.gz
Dojo学习笔记--dijit.Dialog Dojo学习笔记--dijit.Menu Dojo学习笔记--dijit.TitlePane Dojo学习笔记--dijit.Tooltip Dojo学习笔记--dijit.Tree Dojo学习笔记--dojo.graphics.color & dojo.uri.Uri Dojo学习...
Dojo学习笔记--dijit.Dialog Dojo学习笔记--dijit.Menu Dojo学习笔记--dijit.TitlePane Dojo学习笔记--dijit.Tooltip Dojo学习笔记--dijit.Tree Dojo学习笔记--dojo.graphics.color & dojo.uri.Uri Dojo学习...
Dojo学习笔记--dijit.Dialog Dojo学习笔记--dijit.Menu Dojo学习笔记--dijit.TitlePane Dojo学习笔记--dijit.Tooltip Dojo学习笔记--dijit.Tree Dojo学习笔记--dojo.graphics.color & dojo.uri.Uri Dojo学习...
dojo 1.8并没有提供reference-guide的下载,但是dojo官网在国外,有的时候访问速度真的很慢。reference-guide又是开发中使用频率相当高的文档,我整理了一下供大家下载,很全面。希望对大家有帮助, 不要问我怎么...
struts2-dojo-plugin-2.3.4 jar 日期控件的jar包 需要的自行下载
struts2-dojo-plugin-2.3.15.3.jar.zip
dojo学习手册,dojo学习指南,
本文档资料适合java struts2 ajax dojo开发人员使用.
Dojo学习笔记--dijit.Dialog Dojo学习笔记--dijit.Menu Dojo学习笔记--dijit.TitlePane Dojo学习笔记--dijit.Tooltip Dojo学习笔记--dijit.Tree Dojo学习笔记--dojo.graphics.color & dojo.uri.Uri Dojo学习...
dojo 1.4 的多个例子 其中包含email,form等..希望对你使用dojo有所帮助
dojo-release-1.9.1-src
dojo必须的包-dojo-release-1.3.0
不好意思,上一个资源没有改完全!csdn不让删除。只好重新提交一个!注意清除本地浏览器缓存文件!
除了解决命名冲突和依赖管理,使用 Sea.js 进行模块化开发还可以带来很多好处: 模块的版本管理。...直到最近两三年,随着 Dojo、YUI3、Node.js 等社区的推广和流行,前端的模块化开发理念才逐步深入人心。
dojo-release-1.9.0-src.zip dojo javascript库源码 收藏
dojo-release-1.6.1-src.zip
资源分类:Python库 所属语言:Python 资源全名:dojo-pong-pkg-ferromauro-0.0.1.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059