[jQuery]关于jQueryUI的Dialog的简单封装

简介:

这几天在做一个交互的原型,第一次大量采用jQueryUI,确实非常方便好用,其中一些功能点用到了弹出确认提示框,看了jQueryUI Dialog的例子,效果还不错,就是用起来有点儿别扭,写出的代码有点拧巴,需要再封装一下!于是就有了下面这个简单的DialogHelper辅助类,因为这篇文章分享的重点是思路,所以目前版本的代码也还非常粗糙。思路对了,后续再封装成什么样都不过是形式而已,希望这个思路能给大家点启迪,同时欢迎大家开拓思维,提出更好的改进意见。

DialogHelper的源代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
//--对话框辅助对象-begin
//现在这个对象只是简单的封装(未来可能会复杂些)。
//其作用就是简化jQuery UI的dialog的的调用方式,不在需要改动独立的DOM结构,参数传递方式更直接。
DialogHelper = function () {
 
     var  m_title = "" ; //设置标题
     var  m_msg = "" ; //设置消息正文
     var  m_btns = null ; //设置按钮
     this .dlgDiv = $( "<div><p><span class=\"ui-icon ui-icon-alert\" style=\"float: left; margin: 0 7px 20px 0;\"></span></p></div>" ); //这部分可根据情况自定义
 
     //todo:图标、高度、宽度、弹出模式等都应该可以设置。
     this .set_Title = function (val) {
         this .m_title = val;
     }
     this .get_Title = function () {
         return  this .m_title;
     }
     this .set_Msg = function (val) {
         this .m_msg = val;
     }
     this .get_Msg = function () {
         return  this .m_msg;
     }
     this .set_Buttons = function (val) {
         this .m_btns = val;
     }
     this .get_Buttons = function () {
         return  this .m_btns;
     }
 
     this .open = function () {
         $dlg = this .dlgDiv.clone(); //这个克隆很重要,否则反复添加正文。
         $dlg.children().filter( "p" ).html( this .dlgDiv.children().filter( "p" ).html() + this .get_Msg()); //增加自定义消息
 
         $dlg.dialog({
             autoOpen: true ,
             show: 'blind' ,
             hide: 'explode' ,
             position: 'center' ,
             height: 260,
             width: 460,
             modal: true ,
             title: this .get_Title(),
             buttons: this .get_Buttons()
         });
     }
     //todo:考虑是否有内存泄露的可能   
}
//--对话框辅助对象-end
使用DialogHelper辅助类的代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
$(document).ready( function () {
     $( '#opener' ).click( function () {
         //初始化一个辅助对象,这个对象可以作为全局对象只创建一次后反复使用更好!
         dlgHelper = new  DialogHelper();
 
         //设置个性化信息
         dlgHelper.set_Title( "确认要删除现有项目吗?" );
         dlgHelper.set_Msg( "执行这个操作,原来的项目将被删除,你确认要这么做吗?" );
         dlgHelper.set_Buttons({
             '确定' : function (ev) {
                 //这里可以调用其他公共方法。
                 $( this ).dialog( 'close' );
             },
             '取消' : function () {
                 //这里可以调用其他公共方法。
                 $( this ).dialog( 'close' );
             }
         });
 
         //打开窗体
         dlgHelper.open();
 
     });
});

下载源代码下载源代码


本文转自Justin博客园博客,原文链接:http://www.cnblogs.com/justinw/archive/2010/06/04/1751194.html,如需转载请自行联系原作者

相关文章
|
JSON JavaScript 前端开发
jQuery动画功能和封装原理
jQuery动画功能和封装原理
87 0
|
JSON 前端开发 JavaScript
【前端】使用jQuery封装一套UI组件 - 级联选择器组件
本篇文章来讲解下级联选择器组件 级联选择器,在实际项目中也是比较常用的组件,比如:省市区三级关联,上下级联动等 最后面会附上全部代码
1363 0
|
7月前
|
开发框架 JavaScript 前端开发
技术经验解读:从零开始学习jQuery(十)jQueryUI常用功能实战
技术经验解读:从零开始学习jQuery(十)jQueryUI常用功能实战
55 0
|
JSON 前端开发 JavaScript
jQuery封装Ajax,SpringMVC使用Ajax的配置
jQuery封装Ajax,SpringMVC使用Ajax的配置
175 0
jQuery封装Ajax,SpringMVC使用Ajax的配置
|
JavaScript 前端开发 程序员
【前端】使用jQuery封装一套UI组件 - 是和否滑动切换组件
本篇文章来讲解下是和否的滑动切换组件 切换滑动组件,使用的场景实际上就是一个开和关的场景,一般有是和否,开和关,禁用和启用等等,只需要设置0和1即可
158 0
|
JavaScript 前端开发 程序员
【前端】使用jQuery封装一套UI组件 - 可编辑下拉框组件
下拉框也是比较常用的组件,对应原生的下拉标签就是select 本篇文章就来讲讲可编辑下拉框组件的封装过程
372 0
|
JavaScript 前端开发 程序员
【前端】使用jQuery封装一套UI组件 - 移动端时间选择组件
【首先要声明一点,技术不分好坏,能用好就行,不用鄙视老技术】 今天要给大家展示的是移动端时间选择组件 最开始,看到比较新颖的移动端时间选择组件是在某款手机上,分年月日下拉选择,UI界面也挺好看的 除了讲解实现的步骤以及关键点,文章最后面会有完整的代码
255 0
|
前端开发 JavaScript 程序员
【前端】使用jQuery封装一套UI组件 - 单选框
目前前端技术发展非常快,各大厂都开源和分享了自家的前端框架,非常多成熟的UI组件供大家选择,很实用也很方便,给开发上节省了不少时间成本,当然少不了学习成本,不过也不会占用太多时间,只要有前端基础的话,原理基本都是通用的,只是写法不一样。 因此,除了学习现有的优秀前端之外,最好能自己根据原理封装一套自己的UI组件,目的是为了更好的理解前端知识点以及锻炼编程逻辑
176 0
|
缓存 JavaScript 前端开发
|
JavaScript 前端开发
jQuery(四)动画、类数组对象操作、添加自定义函数、封装自定义插件
jQuery(四)动画、类数组对象操作、添加自定义函数、封装自定义插件
190 0
jQuery(四)动画、类数组对象操作、添加自定义函数、封装自定义插件