2010-09-24 42 views
1

我有一個網站,有同步和異步活動正在進行,當用戶點擊一個按鈕的onclick方法做的第一件事是:光標變化不會發生

$('body').css('cursor','wait'); 

和方法返回之前我打電話

$('body').css('cursor','auto'); 

光標只有閃爍對方法的返回的變化。有沒有人有一個想法,爲什麼在方法調用時光標不會立即改變?

+0

顯示您的代碼。你剛剛告訴我們,問題不在於設置屬性的東西。顯示你的代碼。 – Incognito 2010-09-24 14:11:58

回答

0

我有事情

沒有真正同步和異步活動場所。如果只有一個同步活動正在進行,則不會觸發異步事件,整個瀏覽器UI將被阻止,並且鼠標指針不會更新。

您必須將控件返回給瀏覽器,以允許它在樣式更改後更改鼠標指針。在更新cursor樣式後,您可以嘗試將同步代碼放置在setTimeout上,以便在用戶界面掛起同步操作之前更新生效。但真正適合用戶使用的方法是讓所有內容都是異步的。

0

如果你在一個按鈕使用Jquery.ajax點擊你需要設置你的光標爲自動當AJAX完成

例如

$(function(){ 
    $('#button ID'.click(function(){ 
      $('body').css('cursor','wait'); 
      $.ajax({ 
        url: "test.html", 
        complete: function(){ 
          $('body').css('cursor','auto'); 
        } 
      }); 
    }); 

}); 
1

上面一個肯定會工作。 我認爲顯示光標:等待;不是個好主意。看看你是否顯示了一些Ajax加載鏡像會更好。

相關問題