-1

我有一个正在调用的 ajax 函数。当网络服务器正在处理异步请求时,我想阻止用户正在查看的 div,这样他就不会在该请求进行时按下任何按钮或任何东西......我以前做过,你只需选择您想用动画阻止的潜水,调用 .block 然后当值成功返回时,您只需解除阻止。像这样...

function animateSpinner() {
    $("#list").block({ message: '<img src="../../Images/ajax-loader.gif" />' });
};

然后只需调用

$("#list").unblock({ message: '<img src="../../Images/ajax-loader.gif" />' });

一旦你成功返回。
但是,每当我尝试这样做时,我都会收到此异常...在此处输入图像描述

那是它的解锁部分。我忘记评论了(我只是在测试其中的 ajax 部分。
这些调用是否应该包含在 document.ready 或其他东西中以确保它们应该被调用。我最近遇到了 ajax 提交无法正常工作的问题,因为他们没有被包裹在 $(document).ready 调用中,我想看看这是否是另一个实例,什么时候应该在那个调用中包裹一些东西?

4

2 回答 2

1

如评论中所述block,JQuery 上没有这样的功能。您应该beforeSend在 AJAX 请求中使用该函数来设置disabled=true按钮,或将 div 更改z-index为负值

于 2012-12-04T16:08:02.090 回答
1

正如@AmericanUmlaut 指出的那样,您正在使用 jQuery BlockUI 插件语法。http://www.malsup.com/jquery/block/#element此处的示例与您尝试执行的操作几乎相同。,

就 onDOMReady 而言,只要在相关 ajax 调用开始触发之前加载 BlockUI 插件,您就不必做任何特别的事情来使此功能按预期工作

于 2012-12-04T16:20:25.763 回答