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正则控制input标签只允许输入的值
Jul 29 Javascript
写得不错的jquery table鼠标经过变色代码
Sep 27 Javascript
JavaScript代码编写中各种各样的坑和填坑方法
Jun 06 Javascript
一看就懂:jsonp详解
Jun 01 Javascript
jQuery on()方法示例及jquery on()方法的优点
Aug 27 Javascript
JavaScript字符串常用的方法
Mar 10 Javascript
Web前端开发之水印、图片验证码
Nov 27 Javascript
vue中component组件的props使用详解
Sep 04 Javascript
为输入框加入数字js校验代码分享
Nov 02 Javascript
原生js实现拖拽功能基本思路详解
Apr 18 Javascript
vue实现动态给id赋值,点击事件获取当前点击的元素的id操作
Nov 09 Javascript
vue实现登录功能
Dec 31 Vue.js
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
PHP内核探索之变量
2015/12/22 PHP
PHP微信开发之模板消息回复
2016/06/24 PHP
PHP中soap用法示例【SoapServer服务端与SoapClient客户端编写】
2018/12/25 PHP
Thinkphp5+plupload实现的图片上传功能示例【支持实时预览】
2019/05/08 PHP
对联广告js flash激活
2006/10/19 Javascript
javascript 事件处理、鼠标拖动效果实现方法详解
2012/05/11 Javascript
Jquery实现带动画效果的经典二级导航菜单
2013/03/22 Javascript
js树插件zTree获取所有选中节点数据的方法
2015/01/28 Javascript
JavaScript的原型继承详解
2015/02/15 Javascript
基于jQuery实现仿淘宝套餐选择插件
2015/03/04 Javascript
jQuery()方法的第二个参数详解
2015/04/29 Javascript
js中小数向上取整数,向下取整数,四舍五入取整数的实现(必看篇)
2017/02/13 Javascript
通过npm引用的vue组件使用详解
2017/03/02 Javascript
Vue.js仿微信聊天窗口展示组件功能
2017/08/11 Javascript
JS实现登录页密码的显示和隐藏功能
2017/12/06 Javascript
JavaScript实现元素滚动条到达一定位置循环追加内容
2017/12/28 Javascript
JavaScript设计模式之缓存代理模式原理与简单用法示例
2018/08/07 Javascript
解决jQuery使用append添加的元素事件无效的问题
2018/08/30 jQuery
解决vue-cli webpack打包后加载资源的路径问题
2018/09/25 Javascript
微信小程序自定义轮播图
2018/11/04 Javascript
vue递归获取父元素的元素实例
2020/08/07 Javascript
通过滑动翻页效果实现和移动端click事件问题
2021/01/26 Javascript
使用python批量转换文件编码为UTF-8的实现
2020/04/03 Python
django的autoreload机制实现
2020/06/03 Python
CSS3弹性盒模型flex box快速入门心得(必看篇)
2016/05/24 HTML / CSS
美国羽绒床上用品第一品牌:Pacific Coast
2018/08/25 全球购物
加拿大在线旅游公司:Flighthub
2019/03/11 全球购物
意大利奢侈品零售商:ilDuomo Novara
2019/09/11 全球购物
法律工作求职自荐信
2013/10/31 职场文书
销售人员获奖感言
2014/02/05 职场文书
幼儿教师国培感言
2014/02/19 职场文书
授权委托书
2014/09/17 职场文书
个人欠款协议书范本2014
2014/11/02 职场文书
学校标语口号大全
2015/12/26 职场文书
意外事故赔偿协议书
2016/03/22 职场文书
NGINX 权限控制文件预览和下载的实现原理
2022/01/18 Servers