2016-03-04 55 views
0

問題是當我向下滾動我的頁面(例如Yposition = 1500),並重新加載我的dialogPreview。頁面的srollTop位置正在變爲頁面頂部(位於對話框中)。對話框打開正在改變我的scrolltop位置

var yPos = document.documentElement.scrollTop || document.body.scrollTop; 
$("#dialogPreview").dialog({ 
    title : $("#previewTitle").val(), 
    resizable : false, 
    width : 185, 
    height : 240, 
    draggable : false, 
    dialogClass : "dialogPreviewClass", 
    position : { 
     my : "left top", 
     at : "left bottom", 
     of : $("#previewHandler") 
    }, 
    open: function(event, ui) 
    { 
     document.documentElement.scrollTop = yPos; 
     alert("test"); 
    }, 
    close : onCloseDialog, 
    autoOpen : false 
}); 

「打開」功能運行得太快。如何檢查對話框是否已加載,並在正確的時間和地點更改scrollTop位置? jquery版本1.10。 在1.9上一切正常。

回答

0

好的,我修好了。在第一個版本我做了簡單的onfocus事件

focus: function(event, ui) 
    { 
     if(is_chrome){ 
      document.body.scrollTop = yPos; 
     }else{ 
      document.documentElement.scrollTop = yPos; 
     } 
    }, 

其中yPos是

var yPos = document.documentElement.scrollTop || document.body.scrollTop; 

但快速滾動我的窗前,向上和向下。最後,我重寫負責功能聚焦像here

$.ui.dialog.prototype._focusTabbable = function(){}; 
相關問題