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 json 新手入门文档
Dec 03 Javascript
jquery加载页面的方法(页面加载完成就执行)
Jun 21 Javascript
jquery实现的让超出显示范围外的导航自动固定屏幕最顶上
Sep 22 Javascript
jQuery操作表格(table)的常用方法、技巧汇总
Apr 12 Javascript
利用函数的惰性载入提高javascript代码执行效率
May 05 Javascript
推荐25个超炫的jQuery网格插件
Nov 28 Javascript
js实现类似于add(1)(2)(3)调用方式的方法
Mar 04 Javascript
Bootstrap模态框水平垂直居中与增加拖拽功能
Nov 09 Javascript
vue.js实现含搜索的多种复选框(附源码)
Mar 23 Javascript
详解Vue文档中几个易忽视部分的剖析
Mar 24 Javascript
jQuery实现的回车触发按钮事件功能示例
Mar 25 jQuery
微信小程序网络请求实现过程解析
Nov 06 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-Redis安装测试笔记
2015/03/05 PHP
PHP基于工厂模式实现的计算器实例
2015/07/16 PHP
PHP基于单例模式实现的数据库操作基类
2016/01/15 PHP
JS Timing
2007/04/21 Javascript
jQuery的学习步骤
2011/02/23 Javascript
extjs关于treePanel+chekBox全部选中以及清空选中问题探讨
2013/04/02 Javascript
jquery用offset()方法获得元素的xy坐标
2014/09/06 Javascript
javascript中的this详解
2014/12/08 Javascript
javascript实现数组内值索引随机化及创建随机数组的方法
2015/08/10 Javascript
js实现带圆角的多级下拉菜单效果
2015/08/28 Javascript
使用Javascript实现选择下拉菜单互移并排序
2016/02/23 Javascript
深入学习JavaScript的AngularJS框架中指令的使用方法
2016/03/05 Javascript
jQuery弹出窗口打开链接的实现代码
2016/12/24 Javascript
vue时间格式化实例代码
2017/06/13 Javascript
React Native 集成jpush-react-native的示例代码
2017/08/16 Javascript
一个基于react的图片裁剪组件示例
2018/04/18 Javascript
微信小程序自定义轮播图
2018/11/04 Javascript
Vue开发之封装上传文件组件与用法示例
2019/04/25 Javascript
p5.js实现简单货车运动动画
2019/10/23 Javascript
Vue搭建后台系统需要注意的问题
2019/11/08 Javascript
Python2.x版本中cmp()方法的使用教程
2015/05/14 Python
mysql 之通过配置文件链接数据库
2017/08/12 Python
python使用zip将list转为json的方法
2018/12/31 Python
在Pycharm中执行scrapy命令的方法
2019/01/16 Python
pyinstaller打包单文件时--uac-admin选项不起作用怎么办
2020/04/15 Python
45个非常奇妙的CSS3 特性应用示例
2012/01/01 HTML / CSS
中粮集团旗下食品网上购物网站:我买网
2016/09/22 全球购物
日本酒店、民宿、温泉旅馆、当地旅行团中文预订:e路东瀛
2019/12/09 全球购物
英国设计师珠宝网站:Joshua James Jewellery
2020/03/01 全球购物
医院实习接收函
2014/01/12 职场文书
青年文明号服务承诺
2014/03/31 职场文书
超市创意活动方案
2014/08/15 职场文书
2014年接待工作总结
2014/11/26 职场文书
参观邀请函范文
2015/02/02 职场文书
个性发展自我评价2015
2015/03/09 职场文书
《中国古代诗歌散文欣赏》高中语文教材
2019/08/20 职场文书