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 相关文章推荐
又一个小巧的图片预加载类
May 05 Javascript
9个JavaScript评级/投票插件
Jan 18 Javascript
jQuery实现类似淘宝购物车全选状态示例
Jun 26 Javascript
Js动态设置rem来实现移动端字体的自适应代码
Oct 14 Javascript
PHP+jquery+ajax实现分页
Dec 09 Javascript
实现两个文本框同时输入的实例
Sep 25 Javascript
vue利用better-scroll实现轮播图与页面滚动详解
Oct 20 Javascript
深入浅析AngularJs模版与v-bind
Jul 06 Javascript
JavaScript的词法结构精华篇
Oct 17 Javascript
微信小程序日历/日期选择插件使用方法详解
Dec 28 Javascript
对vuex中store和$store的区别说明
Jul 24 Javascript
vue-cli3 引入 font-awesome的操作
Aug 11 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
Windows IIS PHP 5.2 安装与配置方法
2009/06/08 PHP
如何给phpcms v9增加类似于phpcms 2008中的关键词表
2013/07/01 PHP
PHP实现无限极分类的两种方式示例【递归和引用方式】
2019/03/25 PHP
Codeigniter里的无刷新上传的实现代码
2019/04/14 PHP
在TP5数据库中四个字段实现无限分类的示例
2019/10/18 PHP
PHP pthreads v3在centos7平台下的安装与配置操作方法
2020/02/21 PHP
jquery JSON的解析方式
2009/07/25 Javascript
解决jquery .ajax 在IE下卡死问题的解决方法
2009/10/26 Javascript
基于jquery的页面划词搜索JS
2010/09/14 Javascript
JS继承 笔记
2011/07/13 Javascript
javascript的数据类型、字面量、变量介绍
2012/05/23 Javascript
jQuery中读取json文件示例代码
2013/05/10 Javascript
Javascript中克隆一个数组的实现代码
2013/12/06 Javascript
javascript事件冒泡详解和捕获、阻止方法
2014/04/12 Javascript
jQuery通过Ajax返回JSON数据
2015/04/28 Javascript
js实现每日自动换一张图片的方法
2015/05/04 Javascript
基于React.js实现原生js拖拽效果引发的思考
2016/03/30 Javascript
js 性能优化之快速响应的用户界面
2017/02/15 Javascript
canvas绘图不清晰的解决方案
2017/02/28 Javascript
详解Vue2 SSR 缓存 Api 数据
2017/11/20 Javascript
实例讲解Vue.js中router传参
2018/04/22 Javascript
vue+element UI实现树形表格带复选框的示例代码
2019/04/16 Javascript
Vue-router中hash模式与history模式的区别详解
2020/12/15 Vue.js
Python标准库之itertools库的使用方法
2017/09/07 Python
python能做什么 python的含义
2019/10/12 Python
Python闭包及装饰器运行原理解析
2020/06/17 Python
Python unittest生成测试报告过程解析
2020/09/08 Python
python如何实时获取tcpdump输出
2020/09/16 Python
详解appium自动化测试工具(monitor、uiautomatorviewer)
2021/01/27 Python
英国领先的在线旅游和休闲零售商:lastminute.com
2019/01/23 全球购物
餐厅经理岗位职责和岗位目标
2014/02/13 职场文书
毕业生如何写自荐信
2014/03/26 职场文书
平面设计专业求职信
2014/08/09 职场文书
学习党的群众路线剖析材料
2014/10/09 职场文书
招商引资工作汇报材料
2014/10/28 职场文书
建党伟业的观后感
2015/06/01 职场文书