在页面完全加载之前,禁用回发控件的最简洁方法是什么?

时间:2011-10-11 20:16:27

标签: javascript asp.net

我有一个网站有一些强烈的图形,连接速度慢的人可能需要下载时间。在他们的浏览器下载时,他们有表单选项。很多时候他们会填写表格并点击提交。

这会导致事件验证问题,因为页面未完全加载。我可以想出很多方法来解决这个问题。我可以返回并禁用每个控件,然后在页面加载时编写javascript以启用这些控件clientide。

我也查看了blockui,但它会阻止整个页面或只是一个div。我正在寻找一些我可以在我的主页上留下来并忘掉它的东西。

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

似乎正确的方法是在事后加载强大的图形,这样用户仍然可以在呈现关键DOM元素时立即提交表单。 (我假设在提交表单之前加载所有图片并不是非常重要的?)

您可以相当轻松地执行此操作,方法是将您的图片作为基于CSS的背景加载到基于特定类的divbody元素上,如下所示:

body.loaded {background: black url("http://us.battle.net/sc2/static/images/layout/body-bg-baked.jpg") center top no-repeat;}

然后在页面加载后添加以下代码:

$(window).load(function() {$('body').addClass('loaded');});

它不应该在加载图像时产生任何明显的减速,但它将允许所有页面的DOM元素和javascript在必要时下载这些图像时运行。

jsFiddle example

答案 1 :(得分:0)

我自己无法解释答案。但我认为这有你需要做的事情的要点。 http://www.telerik.com/community/forums/aspnet/ajax/disable-or-gray-out-page-when-displaying-loading-panel.aspx

相关问题