2013-04-25 260 views
0

我使用jQuery插件BlockUI:BlockUI滾動到頂部

function block(msg) { 
    $.blockUI({ 
     message: msg, 
     css: { 
      border: 'none', 
      padding: '15px', 
      backgroundColor: '#000', 
      '-webkit-border-radius': '10px', 
      '-moz-border-radius': '10px', 
      opacity: .8, 
      color: '#fff' 
     } 
    }); 
} 

function unblock() { 
    $.unblockUI(); 
} 

我現在面臨的問題是,當我稱呼它,它滾動我的網頁上。不是很好。

這裏是生成的html:

enter image description here

請問有什麼可以修改,使其不接觸pageoffset /滾動?有什麼我可以做,以保持它或任何東西?

感謝

這裏所說的:

function callBump(realid) { 

    block('Bumping...'); 

    $.ajax({ 
     type: "POST", 
     url: "CalendarServices.aspx/Bump", 
     data: 'id=' + realid, 
     success: function (data) { 
      $('#calendar').fullCalendar('refetchEvents'); 
      unblock(); 
     } 
, 
     error: function() { 
      unblock(); 
     } 
    }); 
} 
+0

你是如何「叫」了嗎? (我看不到你的截圖,imgur對我來說是封鎖。) – 2013-04-25 12:43:37

+0

我已經添加了這個電話。 – jmasterx 2013-04-25 12:45:26

+0

該塊是什麼影響滾動,儘管...它立即受到影響。 – jmasterx 2013-04-25 12:46:01

回答

1

我猜跳躍到頂部是由有這樣的事情:

<a href="#" id="do_bump">Bump!</a> 

無論單擊事件已綁定到那個鏈接正在執行,但它繼續嘗試導航到導致跳轉的「#」。

它可以通過捕獲事件參數(將e添加到您的點擊事件處理程序)並在其上調用preventDefault()來解決。這可以防止發生默認鏈接點擊行爲,即導航到href屬性值。

鑑於你的意見,你有這樣的:

$(btnBump).off('click'); 
$(btnBump).on('click', function() { 
    callBump(event.realid); 
}); 

event來自哪裏?這是window.event?假設jQuery的可能裂傷的情況下,試試這個(你只需要添加事件參數e):

$(btnBump).on('click', function(e) { 
    callBump(event.realid); 
    e.preventDefault(); 
});