我有一个我正在调用的ajax函数。当Web服务器正在转向Assynchronous请求时,我想阻止用户查看的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调用中,我想看看这是否是应该在该调用中包含某些内容的另一个实例?
答案 0 :(得分:1)
如评论中所述,JQuery上没有block
这样的功能。您应该使用AJAX请求中的beforeSend
函数为按钮设置disabled=true
,或将div的z-index
更改为负值
答案 1 :(得分:1)
正如@AmericanUmlaut指出你使用的是jQuery BlockUI Plugin语法。这里的例子http://www.malsup.com/jquery/block/#element几乎与您尝试的相同。
只要关注onDOMReady,只要在ajax调用问题开始触发之前加载BlockUI插件,你就不必做任何特别的事情来使这个功能按预期工作