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(AJAX)解析XML的代码(兼容FIREFOX/IE)
Jul 11 Javascript
JS target与currentTarget区别说明
Aug 28 Javascript
jquery 使用简明教程
Mar 05 Javascript
js网页右下角提示框实例
Oct 14 Javascript
js实现简单的省市县三级联动效果实例
Feb 18 Javascript
微信小程序 二维码canvas绘制实例详解
Jan 06 Javascript
Vue 2.0中生命周期与钩子函数的一些理解
May 09 Javascript
学习使用Bootstrap页面排版样式
May 11 Javascript
Vue父子模版传值及组件传值的三种方法
Nov 27 Javascript
Vue结合Video.js播放m3u8视频流的方法示例
May 04 Javascript
微信小程序点击item使之滚动到屏幕中间位置
Mar 25 Javascript
JavaScript 实现继承的几种方式
Feb 19 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 xml-rpc远程调用
2008/12/19 PHP
深入探讨<br />和 \r\n两者有什么区别??
2013/06/05 PHP
如何使用PHP实现javascript的escape和unescape函数
2013/06/29 PHP
php 无限级分类 获取顶级分类ID
2016/03/13 PHP
Laravel 5.4因特殊字段太长导致migrations报错的解决
2017/10/22 PHP
Ajax+PHP实现的删除数据功能示例
2019/02/12 PHP
网站被黑的假象--ARP欺骗之页面中加入一段js
2007/05/16 Javascript
jQuery内置的AJAX功能和JSON的使用实例
2014/07/27 Javascript
jQuery获得指定元素坐标的方法
2015/04/14 Javascript
jQuery插件实现文字无缝向上滚动效果代码
2016/02/25 Javascript
基于jquery编写的放大镜插件
2016/03/23 Javascript
微信页面倒计时代码(解决safari不兼容date的问题)
2016/12/13 Javascript
WEB开发之注册页面验证码倒计时代码的实现
2016/12/15 Javascript
JavaScript实现简易的天数计算器实例【附demo源码下载】
2017/01/18 Javascript
利用node.js本地搭建HTTP服务器
2017/04/19 Javascript
vue bootstrap小例子一枚
2017/06/09 Javascript
利用JS对iframe父子(内外)页面进行操作的方法教程
2017/06/15 Javascript
关于Vue.nextTick()的正确使用方法浅析
2017/08/25 Javascript
详解vue移动端日期选择组件
2018/02/22 Javascript
详解Python中break语句的用法
2015/05/14 Python
Python3实现从文件中读取指定行的方法
2015/05/22 Python
Python实现合并同一个文件夹下所有txt文件的方法示例
2018/04/26 Python
python构建基础的爬虫教学
2018/12/23 Python
Python中remove漏删和索引越界问题的解决
2020/03/18 Python
Python实现加密的RAR文件解压的方法(密码已知)
2020/09/11 Python
野兽派官方旗舰店:THE BEAST 野兽派
2016/08/05 全球购物
Foot Locker德国官方网站:美国运动服和鞋类零售商
2018/11/01 全球购物
军用级手机壳,专为冒险而建:Zizo Wireless
2019/08/07 全球购物
娇韵诗Clarins意大利官方网站:法国天然护肤品牌
2020/03/11 全球购物
大学生党员自我评价
2015/03/04 职场文书
求职信范文怎么写
2015/03/19 职场文书
社区扶贫帮困工作总结
2015/05/20 职场文书
大学社团活动总结怎么写
2019/06/21 职场文书
公司财务制度:成本管理控制制度模板
2019/11/19 职场文书
不要在HTML中滥用div
2021/05/08 HTML / CSS
Vue监视数据的原理详解
2022/02/24 Vue.js