【问题标题】:Jquery ajaxStart and blockUIJquery ajaxStart 和 blockUI
【发布时间】:2012-01-31 08:47:47
【问题描述】:

使用 Asp.Net MVC 3 (Razor)。我正在尝试添加 blockUI 插件以在使用 @Ajax.ActionLink 调用操作时显示加载指示器

如果我使用默认调用

效果很好
$(document).ajaxStart($.blockUI);

但是,当我尝试使用以下内容自定义消息时,一旦页面加载,UI 就会被阻止。有人可以建议正确的格式吗?

$(document).ajaxStart($.blockUI({ 
     message: '<h1><img src="busy.gif" /> Just a moment...</h1>' 
}));

【问题讨论】:

  • 您是否在页面加载时自动调用任何 Ajax 方法?
  • 不,页面加载时没有调用任何内容

标签: jquery asp.net-mvc-3 blockui


【解决方案1】:

在第二段代码中,您实际上是在执行 blockUI 方法。

将其包装在匿名函数中:

$(document).ajaxStart(function() {
     $.blockUI({ 
         message: '<h1><img src="busy.gif" /> Just a moment...</h1>' 
     });
});

jsfiddle 上的工作示例

【讨论】:

  • 谢谢,我试过了,它给出了错误“错误:对象不支持属性或方法'blockUI'”
  • 我在 jsfiddle 中进行了快速测试(请参阅链接的答案 - 这是一个虚拟的 ajax 请求,但它显示了 blockUI 自定义消息)。对于您的错误,可能是您没有正确包含 blockUI 文件,尽管它使用默认设置很奇怪...
  • 伙计们,这个有帮助(就像类似的答案一样)。错误的问题在于 Jquery 在页面中注册了两次,第二次是 Telerik ScriptManager 不明显
  • 现在有意义了,因为 jquery 的第二个包含将删除先前注册 blockUI 插件的 jQuery/$ 变量。很高兴您找到了解决问题的方法!
【解决方案2】:

包含jquery js文件和blockUI js文件然后执行代码

$(document).ajaxStart(function (){
    $.blockUI({ 
       message: '<h1><img src="busy.gif" /> Just a moment...</h1>' 
    });
});

【讨论】:

  • 嗨,Jquery 和 Jblock 都包括在内。我已经通过获取默认方法 $(document).ajaxStart($.blockUI); 对此进行了测试。工作正常当我尝试使用建议的代码时,我在调试时收到错误“错误:对象不支持属性或方法'blockUI'”
【解决方案3】:

将blockui的东西包装在一个函数中:

$(document).ajaxStart(function (){
    $.blockUI({ 
       message: '<h1><img src="busy.gif" /> Just a moment...</h1>' 
    });
});

【讨论】:

  • 谢谢,我试过了,它给出了错误“错误:对象不支持属性或方法'blockUI'”
猜你喜欢
  • 2013-11-27
  • 2011-06-19
  • 1970-01-01
  • 2011-06-18
  • 2010-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多