这种情况就像:我正在使用Jquery实现一些Ajax功能。例如:当用户点击“获取数据”按钮时,Jquery将调用.ajax函数从服务器获取一些数据。这个过程可能需要一些时间,所以我添加了.ajaxSend和.ajaxComplete函数来为等待过程显示一些动画(实际上是一个带有z-index:999的div中的“加载数据”gif,成为其他div的顶部。 )。 在等待过程中('加载数据'),我想阻止用户点击其他按钮(例如:我有其他标签,小'加载数据'gif下的按钮)。 我实现这一点的方法是:如何防止用户在等待Ajax响应时的交互
$("body").ajaxSend(function()
{
$(this).append('<div id="loading">Data Loading<\/div>');
$("div#error").remove();
$(this).children().not('#loading').css({'opacity':0.22});
});
$("body").ajaxComplete(function()
{
$("div#loading").remove();
$(this).children().not('#loading').css({'opacity':1});
});
不过,我不认为改变不透明度是最好的方式。除非将不透明度设置为0,否则用户仍然可以单击其他按钮/选项卡。我不知道如何在这个过程中完全避免任何用户交互?谢谢!!
实际上,我也使用JqueryUI。是的,我只是尝试了对话框的模式选项。很容易达到我想要的效果。但是,有没有办法删除对话框右上角的交叉(关闭按钮)? – WilliamLou 2010-02-02 19:56:33
看到这个http://stackoverflow.com/questions/896777/remove-close-button-on-jqueryui-dialog – 2010-02-02 20:02:25
谢谢。我选择这个作为我的答案,因为我已经使用JqueryUI,这样我就不必为blockUI效果导入另一个插件 – WilliamLou 2010-02-02 23:05:33