经过摸索进行了扩展,增加“自动记住关闭时的位置”的功能,源码如下:
复制代码 代码如下:
//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);
原理很简单,不再做特殊说明,有此需求的朋友可参考一下。
