ajax - 执行 jQuery post 时屏蔽整个页面?

标签 ajax jquery

在 jQuery 中,当我们执行每个 Ajax post 时,有没有办法自动屏蔽整个页面(以防止用户输入或重复提交...)?我看到这个插件:jQuery-blockUI ( http://www.malsup.com/jquery/block/ ),但我们仍然必须为每个 Ajax 帖子手动屏蔽/取消屏蔽。
据我所知,在 ExtJS 中,我们可以通过实现“beforeAction”函数来控制这一点,因为该事件将在表单上的任何操作之前触发,但在 jQuery 中我没有找到类似的东西。
您能给我一个解决方案吗?非常感谢。

最佳答案

自己做这件事不会太难。

HTML

<body>
     <div id="mask"></div>
     <!-- Everything else -->
</body>

CSS

#mask{
position:fixed;
width:100%;
height:100%;
background: /* You can make this slightly transparent black rgba(0,0,0,.3); or transparent */;
top:0;
left:0;
display:none;
}

JAVASCRIPT

var isPageMasked = false,
    mask = $('#mask');

var maskPage = function(){

    if(isPageMasked){
        mask.hide();
    } else {
        mask.show();
    }

    isPageMasked = !isPageMasked;

};

然后,当您想要屏蔽和取消屏蔽页面时,您只需调用 maskPage() 即可。

关于ajax - 执行 jQuery post 时屏蔽整个页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13181912/

相关文章:

ajax - 拖放支持的最佳 ajax 框架

java - 导入数据时,thymeleaf 和 ajax 有什么区别?

php - 将客户的提示输入添加到 WooCommerce 结帐页面

javascript - 为什么无法从html中获取<a>标签的值

javascript - 可拖动的 div : behaves like an image on second drag

php - 获取字符串的特定部分

javascript - responseText 数组无法正确解析

javascript - 更改 downloadurl() 以返回 xml

javascript - IE8 中 indexOf for string 的备用函数是什么?

jquery - 当所有具有所需类的字段都已填充时,如何动态地将类切换到 div?