惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

N
News and Events Feed by Topic
S
SegmentFault 最新的问题
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Last Week in AI
Last Week in AI
Jina AI
Jina AI
H
Help Net Security
C
Check Point Blog
aimingoo的专栏
aimingoo的专栏
MyScale Blog
MyScale Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Vercel News
Vercel News
L
LangChain Blog
Recorded Future
Recorded Future
F
Full Disclosure
Google DeepMind News
Google DeepMind News
Microsoft Security Blog
Microsoft Security Blog
I
InfoQ
GbyAI
GbyAI
B
Blog RSS Feed
T
The Blog of Author Tim Ferriss
Engineering at Meta
Engineering at Meta
A
About on SuperTechFans
M
MIT News - Artificial intelligence
爱范儿
爱范儿
V
V2EX
Microsoft Azure Blog
Microsoft Azure Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Y
Y Combinator Blog
B
Blog
WordPress大学
WordPress大学
Blog — PlanetScale
Blog — PlanetScale
W
WeLiveSecurity
MongoDB | Blog
MongoDB | Blog
Cloudbric
Cloudbric
N
News and Events Feed by Topic
The Cloudflare Blog
月光博客
月光博客
博客园 - 三生石上(FineUI控件)
有赞技术团队
有赞技术团队
D
DataBreaches.Net
博客园 - 【当耐特】
T
Troy Hunt's Blog
V
Visual Studio Blog
V2EX - 技术
V2EX - 技术
Apple Machine Learning Research
Apple Machine Learning Research
博客园 - 司徒正美
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Google Online Security Blog
Google Online Security Blog
The GitHub Blog
The GitHub Blog

博客园 - 阿木申

spring JPA 动态查询 iOS收到Push后播放声音和震动 [vb]sendkeys [vb]键盘精灵 - 阿木申 - 博客园 javascript 画带箭头的线段 关于input type='file'的内容的一种解决方法,模拟键盘 - 阿木申 - 博客园 防止IE缓存,就相当于IE选择每次打开就检查 - 阿木申 - 博客园 [dojo] 解决传中文的乱码问题 - 阿木申 - 博客园 [dojo] dojo.xhrGet和.net整合使用 [dojo]日期选择:dijit.form.DateTextbox [dojo]功能强大的文本框:dijit.form.ValidationTextbox - 阿木申 - 博客园 dojo0.9 dojo.data研究笔记 [dojo] dojo 0.9 的使用心得 [原创]jBPM 子流程的使用 [原创]jBPM动态生成任务实例,会签或者分派任务时特别有用 [dojo转]动态生成widget [原创]jBpm中泳道使用心得 [原创]jBPM中的Expression和script [原创]JBPM中的基本操作代码
[dojo]好用的页面对话框dijit.Dialog
阿木申 · 2007-07-27 · via 博客园 - 阿木申

带背景遮罩的对话框:dijit.Dialog

关于dojo的介绍文章:
http://www.dojocn.cn/apage/amushen/archives/2007/15.html
关于dojo的安装文章:
http://www.dojocn.cn/apage/amushen/archives/2007/16.html

这个对话框通用性非常好。而且显示效果比较友好,能给使用者很好的体验。而且无论是正常方式,还是编程方式,实现起来都比较简单。

对话框包括两种,一种是普通的对话框,一种是提示窗口的对话框,用起来都很方便。

下面是一个普通的对话框:

<html>

<head>

<title>Dialog</title>

<style type="text/css">

       @import "../js/dojo/resources/dojo.css";

       @import "../js/dijit/themes/tundra/tundra.css";

</style>         

<script type="text/javascript"

       djConfig="parseOnLoad: true, isDebug: true"

       src="../js/dojo/dojo.js"></script>

<script type="text/javascript">

       dojo.require("dijit.Dialog");

       function showDia(){

              dijit.byId("dialog1").show();        

       }

</script>

<style>

.dijitDialogUnderlay {

       background: #666666;

       opacity: 0.5;

}

</style>

</head>

<body class="tundra">

<button id="b1" onclick="showDia()">显示dojo对话框</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="填好了"></td>

                     </tr>

              </table>

       </form>

</div><br>

<br>

<select><option>看看对话框能不能挡住这个东西</option></select><br>

<br>

遮罩的颜色可以通过设置.dijitDialogUnderlay来控制

</body>

</html>

通过编程方式的一个对话框:

<html>

<head>

<title>Dialog</title>

<style type="text/css">

       @import "../js/dojo/resources/dojo.css";

       @import "../js/dijit/themes/tundra/tundra.css";

</style>         

<script type="text/javascript"

       djConfig="parseOnLoad: true, isDebug: true"

       src="../js/dojo/dojo.js"></script>

<script type="text/javascript">

       dojo.require("dijit.Dialog");

       function showDia(cont){

              var pane=dojo.byId("Dpane");

              if(!pane){

                     pane=document.createElement("DIV");

                     pane.setAttribute("id","Dpane");

                     pane.style.width = "300px";

                     document.body.appendChild(pane);

              }

              pane.innerHTML=cont;        

              var dia=new dijit.Dialog({title:"dojo对话框"},pane);

              dia.show();           

       }

       var alert=showDia;

</script>

<style>

.dijitDialogUnderlay {

       background: #666666;

       opacity: 0.5;

}

</style>

</head>

<body class="tundra">

<button id="b1" onclick="alert('测试编程方式')">显示dojo对话框</button> <br>

<br>

<select><option>看看对话框能不能挡住这个东西</option></select><br>

<br>

遮罩的颜色可以通过设置.dijitDialogUnderlay来控制

</body>

</html>

提示对话框的例子:

<html>

<head>

<title>Dialog</title>

<style type="text/css">

       @import "../js/dojo/resources/dojo.css";

       @import "../js/dijit/themes/tundra/tundra.css";

</style>         

<script type="text/javascript"

       djConfig="parseOnLoad: true, isDebug: true"

       src="../js/dojo/dojo.js"></script>

<script type="text/javascript">

       dojo.require("dijit.Dialog");

       dojo.require("dijit.form.Button");  

</script>

</head>

<body class="tundra">

<div dojoType="dijit.form.DropDownButton">

       <span>显示登录表单</span>

       <div dojoType="dijit.TooltipDialog" id="tooltipDlg" title="登录信息" closeNode="hider2">

              <form onsubmit="return false;">

                     <table>

                            <tr>

                                   <td><label for="user">用户名:</label></td>

                                   <td><input type="text" id="user"></td>

                            </tr>

                            <tr>

                                   <td><label for="pwd">&nbsp;&nbsp;:</label></td>

                                   <td><input type="password" id="pwd"></td>

                            </tr>

                            <tr>

                                   <td colspan="2" align="center">

                                          <button id="hider2">&nbsp;&nbsp;</button>

                            </tr>

                     </table>

              </form>

       </div>

</div>

<br>

<select><option>看看对话框能不能挡住这个东西</option></select><br>

<br>

这个弹出式的对话框使用DropDownButton来实现比较方便,如果想要通过其他方式实现可能需要一些dojo的编程。<br>

其实也可以使用dijit.MasterTooltip来实现类似的功能。<br>

</body>

</html>

demo的加载速度可能比较慢,请耐心等待。demo地址:

http://www.dojocn.cn/dojo/demo/13_testDialog2.htm

http://www.dojocn.cn/dojo/demo/13_testDialog1.htm

http://www.dojocn.cn/dojo/demo/13_testDialog.htm

原文地址:http://www.dojocn.cn/apage/amushen/archives/2007/23.html