JQUERY dialog的用法详细解析


Posted in Javascript onDecember 19, 2013

今天用到了客户端的对话框,把 jQuery UI 中的对话框学习了一下。

准备 jQuery 环境

首先,我们创建一个按钮,点击这个按钮的时候,将会弹出一个对话框。

<input type="button" value="删除" id="btn" />

为了设置这个按钮点击的事件,需要准备 jQuery 的环境。

<script type="text/javascript" src="scripts/jquery-1.4.2.js"></script>

在 ready 中设置按钮的点击事件。

 $(function() {
    // 初始化
    $("#btn").click(function() {
        alert("btn 被点击啦!");
   }
 );

确认这一步没有问题。

准备对话框
第二步,需要准备对话框的内容。这些内容来自 jQuery UI 的演示文件。

 <div id="dialog-confirm" title="Empty the recycle bin?" >
         <p>
             <span class="ui-icon ui-icon-alert" style="float: left; margin: 0 7px 20px 0;"></span>
             These items will be permanently deleted and cannot be recovered. Are you sure?</p>
 </div>

为了使用 jQuery UI 的对话框,需要增加这些文件的引用。

 <script type="text/javascript" src="scripts/jquery.ui.core.js"></script>
 <script type="text/javascript" src="scripts/jquery.ui.widget.js"></script>
 <script type="text/javascript" src="scripts/jquery.ui.mouse.js"></script>
 <script type="text/javascript" src="scripts/jquery.ui.button.js"></script>
 <script type="text/javascript" src="scripts/jquery.ui.draggable.js"></script>
 <script type="text/javascript" src="scripts/jquery.ui.position.js"></script>
 <script type="text/javascript" src="scripts/jquery.ui.dialog.js"></script>

增加样式
jQuery UI 中使用了大量的样式来修饰,需要引用 jQuery UI 的样式,注意,jquery.ui.all.css 这个文件引用了大量的其他样式文件,将 jQuery UI 中 \development-bundle\themes\base 文件夹中的内容都复制过来。

<link type="text/css" href="styles/jquery.ui.all.css" rel="stylesheet" />

在 ready 函数中,同时也初始化这个对话框。

 $(function() {
     // 初始化
     $("#btn").click(function() {
         alert("btn 被点击啦!");
     });     // 初始化对话框
     $("#dialog-confirm").dialog();
 });

现在,打开这个页面的时候,就已经可以看到对话框了。

通过按钮弹出对话框
我们希望页面上初始化的时候看不到这个对话框,在点击按钮的时候再出现。那么需要这几个工作。

先给对话框增加一个默认不显示的样式。style="display: none",这样默认就不会看到这一部分。

 <div id="dialog-confirm" title="Empty the recycle bin?" style="display: none">
     <p>
         <span class="ui-icon ui-icon-alert" style="float: left; margin: 0 7px 20px 0;"></span>
         These items will be permanently deleted and cannot be recovered. Are you sure?</p>
 </div>

然后,在初始化对话框的时候,也不显示,仅仅完成初始化工作。

在初始化对话框的时候,传递一个参数 autoOpen: false

 $("#dialog-confirm").dialog(
     {
         autoOpen: false
     }
 );

在按钮的点击事件中,弹出这个对话框。
 $("#btn").click(function() {
     // alert("btn 被点击啦!");
     $("#dialog-confirm").dialog("open");
 });

如果传递 close ,将会关闭对话框。

实现模式对话框
在实际应用中,我们经常需要实现模式对话框,在 Web 中需要增加一个遮罩层来挡住底层的元素,模拟模式效果,这可以在初始化对话框的时候,传递一个参数 modal: true 来实现。修改之后的初始化代码成为:

 $("#dialog-confirm").dialog(
     {
         modal: true,             // 创建模式对话框
         autoOpen: false,         // 只初始化,不显示
      }
 );

增加对话框的按钮
可以为对话框增加任意的按钮,并自定义按钮的事件处理。我们先增加两个按钮,一个确定,一个取消,并让他们先关闭对话框。
 // 初始化对话框
 $("#dialog-confirm").dialog(
 {
     modal: true,             // 创建模式对话框
     autoOpen: false,
     buttons: {
         "Ok": function() {
              $(this).dialog('close');
         },
         "Cancel": function() {
             $(this).dialog('close');
         }
     }
 });
Javascript 相关文章推荐
JQuery插件开发示例代码
Nov 06 Javascript
js动画效果制件让图片组成动画代码分享
Jan 14 Javascript
javaScript 页面自动加载事件详解
Feb 10 Javascript
解决ueditor jquery javascript 取值问题
Dec 30 Javascript
详解JavaScript对W3C DOM模版的支持情况
Jun 16 Javascript
Jquery日历插件制作简单日历
Oct 28 Javascript
js 获取今天以及过去日期
Apr 11 Javascript
JS鼠标滚动分页效果示例
Jul 05 Javascript
JS实现预加载视频音频/视频获取截图(返回canvas截图)
Oct 09 Javascript
详解在vue-cli项目下简单使用mockjs模拟数据
Oct 19 Javascript
vue中监听返回键问题
Aug 28 Javascript
Vue+Element UI 树形控件整合下拉功能菜单(tree + dropdown +input)
Aug 28 Javascript
JS控制图片翻转示例代码(兼容firefox,ie,chrome)
Dec 19 #Javascript
jquery dialog open后,服务器端控件失效的快速解决方法
Dec 19 #Javascript
同域jQuery(跨)iframe操作DOM(实例讲解)
Dec 19 #Javascript
jquery获取URL中参数解决中文乱码问题的两种方法
Dec 18 #Javascript
javascript中打印当前的时间实现思路及代码
Dec 18 #Javascript
js 限制input只能输入数字、字母和汉字等等
Dec 18 #Javascript
Javascript改变CSS样式(局部和全局)
Dec 18 #Javascript
You might like
Zend Framework入门教程之Zend_View组件用法示例
2016/12/09 PHP
Gambit vs CL BO3 第一场 2.13
2021/03/10 DOTA
科讯商业版中用到的ajax空间与分页函数
2007/09/02 Javascript
node.js中的fs.read方法使用说明
2014/12/17 Javascript
JavaScript 模块化编程(笔记)
2015/04/08 Javascript
利用VUE框架,实现列表分页功能示例代码
2017/01/12 Javascript
vue.js如何更改默认端口号8080为指定端口的方法
2017/07/14 Javascript
微信小程序如何获取openid及用户信息
2018/01/26 Javascript
VUEJS 2.0 子组件访问/调用父组件的实例
2018/02/10 Javascript
完美解决iview 的select下拉框选项错位的问题
2018/03/02 Javascript
我要点爆”微信小程序云开发之项目建立与我的页面功能实现
2019/05/26 Javascript
微信小程序环境下将文件上传到OSS的方法步骤
2019/05/31 Javascript
jQuery 隐藏/显示效果函数用法实例分析
2020/05/20 jQuery
详解小程序横屏方案对比
2020/06/28 Javascript
[06:10]6.81新信使新套装!给你一个炫酷的DOTA2
2014/05/06 DOTA
[01:02:02]DOTA2上海特级锦标赛A组败者赛 EHOME VS CDEC第二局
2016/02/25 DOTA
python缩进区别分析
2014/02/15 Python
sqlalchemy对象转dict的示例
2014/04/22 Python
使用Python中PDB模块中的命令来调试Python代码的教程
2015/03/30 Python
Python使用Mechanize模块编写爬虫的要点解析
2016/03/31 Python
python基于itchat模块实现微信防撤回
2019/04/29 Python
python抓取需要扫微信登陆页面
2019/04/29 Python
python3 tkinter实现点击一个按钮跳出另一个窗口的方法
2019/06/13 Python
python如何保证输入键入数字的方法
2019/08/23 Python
基于python全局设置id 自动化测试元素定位过程解析
2019/09/04 Python
tensorflow 实现自定义layer并添加到计算图中
2020/02/04 Python
Python3操作YAML文件格式方法解析
2020/04/10 Python
求职推荐信范文
2013/12/01 职场文书
医院护士专业个人的求职信
2013/12/09 职场文书
小学三八妇女节活动方案
2014/03/16 职场文书
药剂专业求职信
2014/06/20 职场文书
促销活动总结怎么写
2014/06/25 职场文书
十佳家长事迹材料
2014/08/26 职场文书
新党章的学习心得体会
2014/11/07 职场文书
研究生导师评语
2014/12/31 职场文书
服务器nginx权限被拒绝解决案例
2022/09/23 Servers