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 事件查询综合 推荐收藏
Mar 10 Javascript
在浏览器中获取当前执行的脚本文件名的代码
Jul 19 Javascript
js图片向右一张张滚动效果实例代码
Nov 23 Javascript
PHP 数组current和next用法分享
Mar 05 Javascript
基于jQuery Tipso插件实现消息提示框特效
Mar 16 Javascript
Vue.js组件tree实现无限级树形菜单
Dec 02 Javascript
Spring shiro + bootstrap + jquery.validate 实现登录、注册功能
Jun 02 jQuery
浅谈React Native 中组件的生命周期
Sep 08 Javascript
layui 表格操作列按钮动态显示的实现方法
Sep 06 Javascript
element-ui table行点击获取行索引(index)并利用索引更换行顺序
Feb 27 Javascript
js实现简单的无缝轮播效果
Sep 05 Javascript
使用JS实现简易计算器
Jun 14 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中的替代语法介绍
2015/01/09 PHP
php中 ob_start等函数截取标准输出的方法
2015/06/22 PHP
php获取数据库结果集方法(推荐)
2017/06/01 PHP
在云虚拟主机部署thinkphp5项目的步骤详解
2017/12/21 PHP
PHP面向对象程序设计(OOP)之方法重写(override)操作示例
2018/12/21 PHP
通过MSXML2自动获取QQ个人头像及在线情况(给初学者)
2007/01/22 Javascript
静态页面下用javascript操作ACCESS数据库(读增改删)的代码
2007/05/14 Javascript
NodeJS的模块写法入门(实例代码)
2012/03/07 NodeJs
javascript DIV实现跟随鼠标移动
2020/03/19 Javascript
ES6所改良的javascript“缺陷”问题
2016/08/23 Javascript
利用CSS、JavaScript及Ajax实现图片预加载的方法
2016/11/29 Javascript
详解JavaScript模块化开发
2016/12/04 Javascript
JS中使用media实现响应式布局
2017/08/04 Javascript
jQuery实现浏览器之间跳转并传递参数功能【支持中文字符】
2018/03/28 jQuery
Angular4.x通过路由守卫进行路由重定向实现根据条件跳转到相应的页面(推荐)
2018/05/10 Javascript
详解使用mpvue开发github小程序总结
2018/07/25 Javascript
使用angular-cli webpack创建多个包的方法
2018/10/16 Javascript
JS实现给数组对象排序的方法分析
2019/06/24 Javascript
layui关闭弹窗后刷新主页面和当前更改项的例子
2019/09/06 Javascript
vue 查看dist文件里的结构(多种方式)
2020/01/17 Javascript
vue 获取元素额外生成的data-v-xxx操作
2020/09/09 Javascript
python读文件逐行处理的示例代码分享
2013/12/27 Python
python编写分类决策树的代码
2017/12/21 Python
python保存二维数组到txt文件中的方法
2018/11/15 Python
Python使用dict.fromkeys()快速生成一个字典示例
2019/04/24 Python
使用python telnetlib批量备份交换机配置的方法
2019/07/25 Python
Python 中的 import 机制之实现远程导入模块
2019/10/29 Python
python实现五子棋游戏(pygame版)
2020/01/19 Python
解决django的template中如果无法引用MEDIA_URL问题
2020/04/07 Python
戴尔新加坡官网:Dell Singapore
2020/12/13 全球购物
面向对象设计的原则是什么
2013/02/13 面试题
庆祝教师节演讲稿
2014/09/03 职场文书
活动总结模板大全
2015/05/11 职场文书
超级礼物观后感
2015/06/15 职场文书
实习报告范文
2019/07/30 职场文书
2020年个人安全保证书参考模板
2020/01/08 职场文书