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判断用户浏览器是否是XP SP2的IE6
Mar 08 Javascript
学习并汇集javascript匿名函数
Nov 25 Javascript
javascript实用方法总结
Feb 06 Javascript
javascript实现显示和隐藏div方法汇总
Aug 14 Javascript
Jquery跨浏览器文本复制插件Zero Clipboard的使用方法
Feb 28 Javascript
Bootstrap导航条学习使用(二)
Feb 08 Javascript
详解windows下vue-cli及webpack 构建网站(三)使用组件
Jun 17 Javascript
在create-react-app中使用css modules的示例代码
Jul 31 Javascript
vue项目中使用tinymce编辑器的步骤详解
Sep 11 Javascript
详解在vue-cli3.0中自定css、js和图片的打包路径
Aug 26 Javascript
js实现指定时间倒计时效果
Aug 26 Javascript
一篇文章带你从零快速上手Rollup
Sep 07 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
php各种编码集详解和以及在什么情况下进行使用
2011/09/11 PHP
PHP代码审核的详细介绍
2013/06/13 PHP
PHP中使用socket方式GET、POST数据实例
2015/04/02 PHP
JavaScript 加号(+)运算符号
2009/12/06 Javascript
浅谈javascript中的闭包
2015/05/13 Javascript
js实现select选择框效果及美化
2016/08/19 Javascript
AngularJs Forms详解及简单示例
2016/09/01 Javascript
canvas绘制环形进度条
2017/02/23 Javascript
JavaScript实现二叉树定义、遍历及查找的方法详解
2017/12/20 Javascript
使用Angular CLI快速创建Angular项目的一些基本概念和写法小结
2018/04/22 Javascript
原生JavaScript实现remove()和recover()功能示例
2018/07/24 Javascript
vue src动态加载请求获取图片的方法
2018/10/17 Javascript
Koa 中的错误处理解析
2019/04/09 Javascript
浅谈ECMAScript 中的Array类型
2019/06/10 Javascript
使用jquery-easyui的布局layout写后台管理页面的代码详解
2019/06/19 jQuery
vue-cli3+typescript新建一个项目的思路分析
2019/08/06 Javascript
js new Date()实例测试
2019/10/31 Javascript
JS图片预加载三种实现方法解析
2020/05/08 Javascript
JQuery使用数组遍历跳出each循环
2020/09/01 jQuery
通过JS判断网页是否为手机打开
2020/10/28 Javascript
jQuery列表动态增加和删除的实现方法
2020/11/05 jQuery
python实现simhash算法实例
2014/04/25 Python
Python构造函数及解构函数介绍
2015/02/26 Python
用python生成与调用cntk模型代码演示方法
2019/08/26 Python
Python hmac模块使用实例解析
2019/12/24 Python
python实现人像动漫化的示例代码
2020/05/17 Python
python创建文本文件的简单方法
2020/08/30 Python
Python实现简单的2048小游戏
2021/03/01 Python
英国潮流网站:END.(全球免邮)
2017/01/16 全球购物
领先的荷兰线上超市:荷兰之家Holland at Home(支持中文)
2021/01/21 全球购物
杭州时比特电子有限公司SQL
2013/08/22 面试题
大学生通用个人的自我评价
2014/02/10 职场文书
五四青年节优秀演讲稿范文
2014/05/28 职场文书
就业协议书盖章的注意事项
2014/09/28 职场文书
员工辞退通知书
2015/04/17 职场文书
运动会班级口号霸气押韵
2015/12/24 职场文书