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获取div高度的代码
Aug 09 Javascript
js DataSet数据源处理代码
Mar 29 Javascript
JavaScript的类型转换(字符转数字 数字转字符)
Aug 30 Javascript
JS延迟加载加快页面打开速度示例代码
Dec 30 Javascript
关于JavaScript中name的意义冲突示例介绍
May 29 Javascript
coffeescript使用的方式汇总
Aug 05 Javascript
JS中使用apply方法通过不同数量的参数调用函数的方法
May 31 Javascript
js实现文字截断功能
Sep 14 Javascript
浅谈Vue.js中的v-on(事件处理)
Sep 05 Javascript
webpack css加载和图片加载的方法示例
Sep 11 Javascript
JavaScript设计模式之责任链模式实例分析
Jan 16 Javascript
JS原型与继承操作示例
May 09 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
eclipse如何忽略js文件报错(附图)
2013/10/30 Javascript
javascript定时器完整实例
2015/02/10 Javascript
js跨域请求的5中解决方式
2015/07/02 Javascript
Jquery全屏相册插件zoomvisualizer具有调节放大与缩小功能
2015/11/02 Javascript
js实现获取div坐标的方法
2015/11/16 Javascript
JavaScript toUpperCase()方法使用详解
2016/08/26 Javascript
JQuery动态添加Select的Option元素实现方法
2016/08/29 Javascript
jquery实现弹窗功能(窗口居中显示)
2017/02/27 Javascript
基于VUE选择上传图片并页面显示(图片可删除)
2017/05/25 Javascript
vue router嵌套路由在history模式下刷新无法渲染页面问题的解决方法
2018/01/25 Javascript
Angular2 父子组件通信方式的示例
2018/01/29 Javascript
详解vue中axios的使用与封装
2019/03/20 Javascript
node将geojson转shp返回给前端的实现方法
2019/05/29 Javascript
微信小程序吸底区域适配iPhoneX的实现
2020/04/09 Javascript
jQuery实现雪花飘落效果
2020/08/02 jQuery
[03:00]2014DOTA2国际邀请赛 Titan淘汰潸然泪下Ohaiyo专访
2014/07/15 DOTA
[46:14]VGJ.T vs Liquid 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python实现windows下模拟按键和鼠标点击的方法
2015/03/13 Python
Python语言进阶知识点总结
2019/05/28 Python
python机器学习包mlxtend的安装和配置详解
2019/08/21 Python
python中web框架的自定义创建
2019/09/08 Python
Python延迟绑定问题原理及解决方案
2020/08/04 Python
美国折扣宠物药房:Total Pet Supply
2018/05/27 全球购物
茱莉蔻美国官网:Jurlique美国
2020/11/24 全球购物
艺术系应届生的自我评价
2013/10/19 职场文书
质检的岗位职责
2013/11/17 职场文书
11月红领巾广播稿
2014/01/17 职场文书
《悯农》教学反思
2014/04/28 职场文书
自动化专业大学生职业生涯规划范文:爱拚才会赢
2014/09/12 职场文书
简单租房协议书
2014/10/21 职场文书
小学班主任心得体会
2016/01/07 职场文书
2019毕业论文致谢词
2019/06/24 职场文书
JS 基本概念详细介绍
2021/10/16 Javascript
使用canvas仿Echarts实现金字塔图的实例代码
2021/11/11 HTML / CSS
python处理json数据文件
2022/04/11 Python