jQueryUI的Dialog的简单封装


Posted in Javascript onJune 07, 2010

写出的代码有点拧巴,需要再封装一下!于是就有了下面这个简单的DialogHelper辅助类,因为这篇文章分享的重点是思路,所以目前版本的代码也还非常粗糙。思路对了,后续再封装成什么样都不过是形式而已,希望这个思路能给大家点启迪,同时欢迎大家开拓思维,提出更好的改进意见。

DialogHelper的源代码如下:

//--对话框辅助对象-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辅助类的代码如下:
$(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(); 
}); 
});

代码打包下载 http://xiazai.3water.com/201006/yuanma/jQueryUI_DialogDemo.rar
Javascript 相关文章推荐
js操作select控件的几种方法
Jun 02 Javascript
使用Java实现简单的server/client回显功能的方法介绍
May 03 Javascript
jQuery图片切换插件jquery.cycle.js使用示例
Jun 16 Javascript
js实现div层缓慢收缩与展开的方法
May 11 Javascript
使用ReactJS实现tab页切换、菜单栏切换、手风琴切换和进度条效果
Oct 17 Javascript
微信小程序 MINA文件结构
Oct 17 Javascript
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
Dec 14 Javascript
vue生成token保存在客户端localStorage中的方法
Oct 25 Javascript
基于jquery实现五星好评
Nov 18 jQuery
Bootstrap Table 双击、单击行获取该行及全表内容
Aug 31 Javascript
PM2自动部署代码步骤流程总结
Dec 10 Javascript
GitHub上77.9K的Axios项目有哪些值得借鉴的地方详析
Jun 15 Javascript
jquery 的 $(&quot;#id&quot;).html() 无内容的解决方法
Jun 07 #Javascript
基于jquery+thickbox仿校内登录注册框
Jun 07 #Javascript
jquery 注意事项与常用语法小结
Jun 07 #Javascript
php上传图片并给图片打上透明水印的代码
Jun 07 #Javascript
指定位置如果有图片显示图片,无图片显示广告的JS
Jun 05 #Javascript
JavaScript 异步方法队列链实现代码分析
Jun 05 #Javascript
js 全兼容可高亮二级缓冲折叠菜单
Jun 04 #Javascript
You might like
ThinkPHP自动验证失败的解决方法
2011/06/09 PHP
PHP统计二维数组元素个数的方法
2013/11/12 PHP
thinkphp多层MVC用法分析
2015/12/30 PHP
Zend Framework基于Command命令行建立ZF项目的方法
2017/02/18 PHP
Docker搭建自己的PHP开发环境
2018/02/24 PHP
用json方式实现在 js 中建立一个map
2014/05/02 Javascript
基于jQuery的判断iPad、iPhone、Android是横屏还是竖屏的代码
2014/05/11 Javascript
javascript计时器详解
2015/02/28 Javascript
深入浅析Extjs中store分组功能的使用方法
2016/04/20 Javascript
JS实现列表页面隔行变色效果
2017/03/25 Javascript
angular动态删除ng-repaeat添加的dom节点的方法
2017/07/20 Javascript
详解EasyUi控件中的Datagrid
2017/08/23 Javascript
Seajs源码详解分析
2019/04/02 Javascript
jQuery中使用validate插件校验表单功能
2019/05/24 jQuery
JS浏览器BOM常见操作实例详解
2020/04/27 Javascript
jdk1.8+vue elementui实现多级菜单功能
2020/09/24 Javascript
在nodejs中创建child process的方法
2021/01/26 NodeJs
[50:12]EG vs Fnatic 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
python 生成不重复的随机数的代码
2011/05/15 Python
Python + selenium自动化环境搭建的完整步骤
2018/05/19 Python
Python 按字典dict的键排序,并取出相应的键值放于list中的实例
2019/02/12 Python
PyQt5的安装配置过程,将ui文件转为py文件后显示窗口的实例
2019/06/19 Python
Djang的model创建的字段和参数详解
2019/07/27 Python
python制作朋友圈九宫格图片
2019/11/03 Python
Python中低维数组填充高维数组的实现
2019/12/02 Python
python实现飞机大战游戏(pygame版)
2020/10/26 Python
Python基于pandas爬取网页表格数据
2020/05/11 Python
python中strip(),lstrip(),rstrip()函数的使用讲解
2020/11/17 Python
经济学博士求职自荐信范文
2013/11/23 职场文书
小学防溺水制度
2014/01/29 职场文书
学习标兵获奖感言
2014/02/20 职场文书
解除劳动合同协议书范本
2014/04/14 职场文书
幼儿园课题实施方案
2014/05/14 职场文书
大学生工作求职信
2014/06/23 职场文书
python通过opencv调用摄像头操作实例分析
2021/06/07 Python
详解Python+OpenCV绘制灰度直方图
2022/03/22 Python