2013-04-25 120 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(); 
});