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 相关文章推荐
Javascript 读书笔记索引贴
Jan 11 Javascript
js实现黑色简易的滑动门网页tab选项卡效果
Aug 31 Javascript
javascript每日必学之条件分支
Feb 17 Javascript
用canvas 实现个图片三角化(LOW POLY)效果
Feb 18 Javascript
jQuery中DOM节点的删除方法总结(超全面)
Jan 22 Javascript
一篇看懂vuejs的状态管理神器 vuex状态管理模式
Apr 20 Javascript
Vue2.0 从零开始_环境搭建操作步骤
Jun 14 Javascript
详解vue中computed 和 watch的异同
Jun 30 Javascript
JSON 数据格式详解
Sep 13 Javascript
解决JSON.stringify()自动将中文转译成unicode的问题
Jan 05 Javascript
layui 实现表单和文件上传一起传到后台的例子
Sep 16 Javascript
微信小程序实现分享商品海报功能
Sep 30 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
利用ThinkPHP内置的ThinkAjax实现异步传输技术的实现方法
2011/12/19 PHP
PHP判断文件是否存在、是否可读、目录是否存在的代码
2012/10/03 PHP
php 截取中英文混合字符串的方法
2018/05/31 PHP
PHP实现唤起微信支付功能
2019/02/18 PHP
JS实现下拉框的动态添加(附效果)
2013/04/03 Javascript
JQuery实现点击div以外的位置隐藏该div窗口
2013/09/13 Javascript
举例详解JavaScript中Promise的使用
2015/06/24 Javascript
浅析JS动态创建元素【两种方法】
2016/04/20 Javascript
JavaScript动态检验密码强度的实现方法
2016/11/09 Javascript
vue的一个分页组件的示例代码
2017/12/25 Javascript
JS 验证码功能的三种实现方式
2018/11/26 Javascript
用js简单提供增删改查接口
2019/05/12 Javascript
layui实现下拉复选功能的例子(包括数据的回显与上传)
2019/09/24 Javascript
Vue实现点击导航栏当前标签后变色功能
2020/08/19 Javascript
使用python编写脚本获取手机当前应用apk的信息
2014/07/21 Python
python 远程统计文件代码分享
2015/05/14 Python
Python爬取APP下载链接的实现方法
2016/09/30 Python
Python for循环生成列表的实例
2018/06/15 Python
Python面向对象类编写细节分析【类,方法,继承,超类,接口等】
2019/01/05 Python
django富文本编辑器的实现示例
2019/04/10 Python
在python中实现同行输入/接收多个数据的示例
2019/07/20 Python
python实现广度优先搜索过程解析
2019/10/19 Python
Python编写一个验证码图片数据标注GUI程序附源码
2019/12/09 Python
python如何获得list或numpy数组中最大元素对应的索引
2020/11/16 Python
Lee牛仔裤澳大利亚官网:美国著名牛仔裤品牌
2017/09/02 全球购物
印度网上药店:1mg
2017/10/13 全球购物
半年思想汇报
2013/12/30 职场文书
音乐幼师求职信
2014/07/09 职场文书
革命英雄事迹演讲稿
2014/09/13 职场文书
长江三峡导游词
2015/01/31 职场文书
2015年新学期寄语
2015/02/26 职场文书
护士求职自荐信范文
2015/03/04 职场文书
消防演习感想
2015/08/10 职场文书
python 逐步回归算法
2021/04/06 Python
mysql 带多个条件的查询方式
2021/06/05 MySQL
Android中的Launch Mode详情
2022/06/05 Java/Android