【问题标题】:can I use Jquery blockui(plugin) code withouut Ajax我可以在没有 Ajax 的情况下使用 Jquery blockui(插件)代码吗
【发布时间】:2014-12-02 03:12:22
【问题描述】:

我是 Jquery 的新手,请帮忙......

我有一页有多个链接。当用户在完成后台进程并加载页面之前单击一个链接时,他会在没有等待的情况下点击另一个链接,这会导致问题。我正在寻找避免用户一次点击多次的解决方案。

为了解决,我找到了 Jquery BlockUI 插件,并从添加在代码 sn-p 下方的链接 https://github.com/malsup/blockui/and 下载了 jquery.blockUi.min.js 的(生产版)

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

现在,当我单击任何链接(所有链接具有相同的类名)时,此代码会立即阻止页面并显示弹出消息“仅片刻”,然后一旦 java 进程/请求(默认提交是表单action='/xxx') 完成(它确实处理一些操作并更新数据库)页面刷新,然后自动解除页面阻塞。这是完美的工作正常。但我想知道我是否正确使用了这个 blockUI 功能?是否可以在没有 Ajax 的情况下使用,而只需使用常规的 java 服务器(表单操作)请求?

当我在联邦公司工作时,下载和使用这个 jquery.blockUi.min.js 安全吗?

在这里,我使用 Java+Struts1.x 一切正常。我只是使用这个 blockui 功能来避免用户同时点击多个链接 - 通过在几秒钟内禁用带有一些弹出消息的页面,直到页面刷新新数据。

由于我在这里没有使用 Ajax,有没有其他简单的解决方案可以使用或者这是一个好的解决方案?

【问题讨论】:

    标签: jquery ajax struts-1


    【解决方案1】:

    我不自称是专家,但我在我的 Python Django 网站上以相同的方式使用它,以加载处理密集型页面(显然它必须以这种方式使用,因为在 Controller 完成处理任务之前,HTML 不会加载)。

    只要记住包括:

    $(window).on('unload', function()
    {
        $.unblockUI();
    });
    

    为了在页面更改时解除对 UI 的阻止(或者当您点击“返回”按钮时,您可能仍会看到被阻止的页面)。

    另一种老式的方法是当用户点击一个页面时“禁用”页面上的所有链接/按钮,以便用户在加载时无法与之交互。

    【讨论】:

      猜你喜欢
      • 2013-01-14
      • 1970-01-01
      • 1970-01-01
      • 2011-06-22
      • 2017-12-31
      • 2019-01-31
      • 2016-08-11
      • 2021-08-10
      • 2021-07-28
      相关资源
      最近更新 更多