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 相关文章推荐
JS 页面自动加载函数(兼容多浏览器)
May 18 Javascript
jquery中ajax调用json数据的使用说明
Mar 17 Javascript
基于JavaScript 类的使用详解
May 07 Javascript
javascript实现跳转菜单的具体方法
Jul 05 Javascript
js的toLowerCase方法用法实例
Jan 27 Javascript
JS操作COOKIE实现备忘记录的方法
Apr 01 Javascript
JS加载iFrame出现空白问题的解决办法
May 13 Javascript
JS 面向对象之继承---多种组合继承详解
Jul 10 Javascript
JS实现保留n位小数的四舍五入问题示例
Aug 03 Javascript
基于vue.js轮播组件vue-awesome-swiper实现轮播图
Mar 17 Javascript
讲解vue-router之什么是编程式路由
May 28 Javascript
vue.config.js常用配置详解
Nov 14 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
php长字符串定义方法
2012/07/12 PHP
PHP 9 大缓存技术总结
2015/09/17 PHP
编写PHP脚本使WordPress的主题支持Widget侧边栏
2015/12/14 PHP
高质量PHP代码的50个实用技巧必备(下)
2016/01/22 PHP
php使用自定义函数实现汉字分割替换功能示例
2017/01/30 PHP
iis6手工创建网站后无法运行php脚本的解决方法
2017/06/08 PHP
JS提交并解析后台返回的XML的代码
2008/11/03 Javascript
jQuery之end()和pushStack()使用介绍
2012/02/07 Javascript
jquery复选框全选/取消示例
2013/12/30 Javascript
基于jquery和svg实现超炫酷的动画特效
2014/12/09 Javascript
javascript ES6 新增了let命令使用介绍
2017/07/07 Javascript
Bootstrap一款超好用的前端框架
2017/09/25 Javascript
详解在vue-cli中使用路由
2017/09/25 Javascript
常用的 JS 排序算法 整理版
2018/04/05 Javascript
react配合antd组件实现的管理系统示例代码
2018/04/24 Javascript
JS获取子节点、父节点和兄弟节点的方法实例总结
2018/07/06 Javascript
vant 时间选择器--开始时间和结束时间实例
2020/11/04 Javascript
[01:56]生活中的妖精之七夕特别档
2016/08/09 DOTA
Python编写屏幕截图程序方法
2015/02/18 Python
Windows系统配置python脚本开机启动的3种方法分享
2015/03/10 Python
python数据清洗系列之字符串处理详解
2017/02/12 Python
Python cookbook(字符串与文本)针对任意多的分隔符拆分字符串操作示例
2018/04/19 Python
Python3.5多进程原理与用法实例分析
2019/04/05 Python
Django使用 Bootstrap 样式修改书籍列表过程解析
2019/08/09 Python
Pytorch实现神经网络的分类方式
2020/01/08 Python
Pytorch中的自动求梯度机制和Variable类实例
2020/02/29 Python
Python reduce函数作用及实例解析
2020/05/08 Python
时尚孕妇装:HATCH Collection
2019/09/24 全球购物
行政前台岗位职责
2013/12/04 职场文书
《纸船和风筝》教学反思
2014/02/15 职场文书
学生请假条
2014/04/11 职场文书
财务情况说明书范文
2014/05/06 职场文书
科学发展观活动总结
2014/08/28 职场文书
2014年“四风”问题个人整改措施
2014/09/17 职场文书
公务员个人年终总结
2015/02/12 职场文书
给原生html中添加水印遮罩层的实现示例
2021/04/02 Javascript