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下利用jsonp跨域访问实现方法
Jul 29 Javascript
JQuery文本改变触发事件如聚焦事件、失焦事件
Jan 15 Javascript
Google 地图API资料整理及详细介绍
Aug 06 Javascript
标准的js无缝滚动效果
Aug 30 Javascript
vue2.0父子组件间通信的实现方法
Apr 19 Javascript
微信JS-SDK选取手机照片上传功能
Apr 21 Javascript
javascript高级模块化require.js的具体使用方法
Oct 31 Javascript
JS排序算法之希尔排序与快速排序实现方法
Dec 12 Javascript
微信小程序设置滚动条过程详解
Jul 25 Javascript
layui switch 开关监听 弹出确定状态转换的例子
Sep 21 Javascript
Jquery 动态添加元素并添加点击事件实现过程解析
Oct 12 jQuery
vuex实现购物车功能
Jun 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
PHP函数extension_loaded()用法实例
2015/01/19 PHP
yii2控制器Controller Ajax操作示例
2016/07/23 PHP
几行代码轻松实现PHP文件打包下载zip
2017/03/01 PHP
PHP实现随机生成水印图片功能
2017/03/22 PHP
PHP生成腾讯云COS接口需要的请求签名
2018/05/20 PHP
js 创建快捷方式的代码(fso)
2010/11/19 Javascript
Firefox中通过JavaScript复制数据到剪贴板(Copy to Clipboard 跨浏览器版)
2013/11/22 Javascript
动态添加option及createElement使用示例
2014/01/26 Javascript
node.js中的events.emitter.removeAllListeners方法使用说明
2014/12/10 Javascript
简述AngularJS的控制器的使用
2015/06/16 Javascript
jQuery实现美观的多级动画效果菜单代码
2015/09/06 Javascript
Node.js本地文件操作之文件拷贝与目录遍历的方法
2016/02/16 Javascript
使用BootStrap实现用户登录界面UI
2016/08/10 Javascript
鼠标点击input,显示瞬间的边框颜色,对之修改与隐藏实例
2016/12/26 Javascript
React Js 微信禁止复制链接分享禁止隐藏右上角菜单功能
2017/05/26 Javascript
vue2 中如何实现动态表单增删改查实例
2017/06/09 Javascript
vue增删改查的简单操作
2017/07/15 Javascript
js定时器+简单的动画效果实例
2017/11/10 Javascript
vue刷新和tab切换实例
2018/02/11 Javascript
监控Nodejs的性能实例代码
2019/07/02 NodeJs
微信小程序npm引入vant-weapp的踩坑记录
2019/08/01 Javascript
jQuery实现异步上传一个或多个文件
2020/08/17 jQuery
跟老齐学Python之大话题小函数(1)
2014/10/10 Python
Python 实现输入任意多个数,并计算其平均值的例子
2019/07/16 Python
python利用7z批量解压rar的实现
2019/08/07 Python
Anconda环境下Vscode安装Python的方法详解
2020/03/29 Python
利于python脚本编写可视化nmap和masscan的方法
2020/12/29 Python
有关HTML5页面在iPhoneX适配问题
2017/11/13 HTML / CSS
办加油卡单位介绍信
2014/01/09 职场文书
新教师个人工作总结
2015/02/06 职场文书
2015年父亲节活动总结
2015/02/12 职场文书
2016年七夕情人节宣传语
2015/11/25 职场文书
2016年小学推普宣传周活动总结
2016/04/06 职场文书
Python turtle实现贪吃蛇游戏
2021/06/18 Python
为什么MySQL不建议使用SELECT *
2022/04/03 MySQL
Python 全局空间和局部空间
2022/04/06 Python