为jquery.ui.dialog 增加“自动记住关闭时的位置”的功能


Posted in Javascript onNovember 24, 2009

经过摸索进行了扩展,增加“自动记住关闭时的位置”的功能,源码如下:

//myJquery.ui.dialog.ex.js //////////////////////////////////// 
//自动记住 jquery.ui.dialog关闭时的位置 
/////////////////////////////////// 
(function($){ 
var originClose = $.ui.dialog.prototype.close; 
$.ui.dialog.prototype.close = function() 
{ 
//判断option中是否指定不使用此功能,如 $("#d").dialog({rememberPosition:false}); 
if(this.options.rememberPosition != false) 
{ 
this.position = this.uiDialog.offset() ; 
var top = $('body').scrollTop(); 
if(top == 0) top = $(document).scrollTop(); //修正!DOCTYPE BUG 
var left = $('body').scrollLeft(); 
if(left == 0) left = $(document).scrollLeft(); //修正!DOCTYPE BUG 
this.options.position = [this.position.left-left,this.position.top-top]; 
} 
originClose.apply(this,arguments); 
}; 
})(jQuery);

原理很简单,不再做特殊说明,有此需求的朋友可参考一下。
Javascript 相关文章推荐
基于jquery的下拉框改变动态添加和删除表格实现代码
Sep 12 Javascript
js数组循环遍历数组内所有元素的方法
Jan 18 Javascript
JavaScript中文件上传API详解
Apr 01 Javascript
VUEJS实战之构建基础并渲染出列表(1)
Jun 13 Javascript
基于jQuery.validate及Bootstrap的tooltip开发气泡样式的表单校验组件思路详解
Jul 18 Javascript
javascript表单正则应用
Feb 04 Javascript
vue轮播图插件vue-awesome-swiper的使用代码实例
Jul 10 Javascript
js中less常用的方法小结
Aug 09 Javascript
详解Vue2.0 事件派发与接收
Sep 05 Javascript
使用vue的transition完成滑动过渡的示例代码
Jun 25 Javascript
JavaScript中BOM对象原理与用法分析
Jul 09 Javascript
Vue $emit()不能触发父组件方法的原因及解决
Jul 28 Javascript
为jquery.ui.dialog 增加“在当前鼠标位置打开”的功能
Nov 24 #Javascript
JavaScript让IE浏览器event对象符合W3C DOM标准
Nov 24 #Javascript
文本框的字数限制功能jquery插件
Nov 24 #Javascript
js数字输入框(包括最大值最小值限制和四舍五入)
Nov 24 #Javascript
jquery ajax提交表单数据的两种方式
Nov 24 #Javascript
js loading加载效果实现代码
Nov 24 #Javascript
jquery.ui.draggable中文文档
Nov 24 #Javascript
You might like
PHP入门学习笔记之一
2010/10/12 PHP
php下拉选项的批量操作的实现代码
2013/10/14 PHP
extjs grid设置某列背景颜色和字体颜色的方法
2010/09/03 Javascript
jquery常用技巧及常用方法列表集合
2011/04/06 Javascript
JavaScript中的setUTCDate()方法使用详解
2015/06/11 Javascript
jQuery中cookie插件用法实例分析
2015/12/04 Javascript
关于JS中setTimeout()无法调用带参函数问题的解决方法
2016/06/21 Javascript
jQuery 3.0 的 setter和getter 模式详解
2016/07/11 Javascript
AngularJS基础 ng-srcset 指令简单示例
2016/08/03 Javascript
利用JS如何计算字符串所占字节数示例代码
2017/09/13 Javascript
JS写谷歌浏览器chrome的外挂实例
2018/01/11 Javascript
在Vue中使用highCharts绘制3d饼图的方法
2018/02/08 Javascript
JavaScript实现捕获鼠标坐标
2020/04/12 Javascript
[02:20]DOTA2亚洲邀请赛 IG战队出场宣传片
2015/02/07 DOTA
[06:06]2018DOTA2亚洲邀请赛主赛事第四日战况回顾 全明星赛欢乐上演
2018/04/07 DOTA
Python通过递归遍历出集合中所有元素的方法
2015/02/25 Python
python处理csv数据的方法
2015/03/11 Python
Python 爬虫学习笔记之多线程爬虫
2016/09/21 Python
Python中跳台阶、变态跳台阶与矩形覆盖问题的解决方法
2018/05/19 Python
Django 根据数据模型models创建数据表的实例
2018/05/27 Python
Python hashlib模块用法实例分析
2018/06/12 Python
Python设计模式之原型模式实例详解
2019/01/18 Python
pandas去除重复列的实现方法
2019/01/29 Python
python实现杨氏矩阵查找
2019/03/02 Python
python如何写个俄罗斯方块
2020/11/06 Python
将SVG图引入到HTML页面的实现
2019/09/20 HTML / CSS
Interrail法国:乘火车探索欧洲,最受欢迎的欧洲铁路通票
2019/08/27 全球购物
名词解释型面试题(主要是网络)
2013/12/27 面试题
宿舍使用违章电器检讨书
2014/01/12 职场文书
护理中职生求职信范文
2014/02/24 职场文书
2014年宣传工作总结
2014/11/18 职场文书
党员反腐倡廉学习心得体会
2015/08/15 职场文书
《司马光》教学反思
2016/02/22 职场文书
美甲店的创业计划书模板
2019/08/23 职场文书
Spring Data JPA使用JPQL与原生SQL进行查询的操作
2021/06/15 Java/Android
MySQL令人大跌眼镜的隐式转换
2021/08/23 MySQL