為jquery.ui.dialog 增加“自動記住關(guān)閉時的位置”的功能
更新時間:2009年11月24日 21:32:10 作者:
筆者在項目中使用 jquery.ui.dialog 1.7.2時,當(dāng)使用$("#d").dialog("open");時,dialog總是彈出在option中指定的位置;
經(jīng)過摸索進(jìn)行了擴(kuò)展,增加“自動記住關(guān)閉時的位置”的功能,源碼如下:
//myJquery.ui.dialog.ex.js
////////////////////////////////////
//自動記住 jquery.ui.dialog關(guān)閉時的位置
///////////////////////////////////
(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);
原理很簡單,不再做特殊說明,有此需求的朋友可參考一下。
復(fù)制代碼 代碼如下:
//myJquery.ui.dialog.ex.js
////////////////////////////////////
//自動記住 jquery.ui.dialog關(guān)閉時的位置
///////////////////////////////////
(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);
原理很簡單,不再做特殊說明,有此需求的朋友可參考一下。
相關(guān)文章
jquery html動態(tài)生成select標(biāo)簽出問題的解決方法
用jquery,json從后臺獲取一個列表,然后用一個動態(tài)生成的select標(biāo)簽顯示出來,結(jié)果出現(xiàn)錯誤,下面為大家分享個不錯的解決方法,喜歡的朋友可以參考下2013-11-11input輸入框內(nèi)容實時監(jiān)測(附代碼)
這篇文章主要介紹了如何實時監(jiān)測input輸入框內(nèi)容,具體操作步驟大家可查看下文詳細(xì)講解,感興趣的小伙伴們可以參考一下。2017-08-08javascript trim函數(shù)在IE下不能用的解決方法
trim 函數(shù)在firefox 下面使用沒有問題,但是在IE下就報錯,下面是可行的解決方法,大家可以看看2014-09-09