這種情況就像:我正在使用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