2016-11-11 42 views
0

立即顯示在下面的代碼,在Chrome,背景顏色變化不顯示,直到被確認後回答:JQuery的背景顏色變化無法在Chrome

$('#ac_row_'+ac_table_row).children('td').css('background-color','#ffc3c3'); 
var agree=confirm("Are you sure you want to delete this aircraft?"); 

在Firefox和I.E.顏色立即變化,並在確認模式對話框下顯示。如何在Chrome上立即更新背景顏色?

我發現了一些類似的問題,但他們似乎並不適用於我的情況。在這些情況下,Chrome瀏覽器根本不會發生顏色變化。

回答

1

我現在能想到的最佳解決方案是推遲確認呼叫;

$('#ac_row_'+ac_table_row).children('td').css('background-color','#ffc3c3'); 
var agree; 
setTimeout(function() { 
    agree=confirm("Are you sure you want to delete this aircraft?"); 
}); 

但是,那麼你必須等待超時檢查同意的價值。

+0

我試過它只有50毫秒的超時,它的工作原理。我把覈對協議的價值和隨後在函數內部發生的代碼的其餘部分。 – George

+0

超時時間爲0也應該工作 –

+0

我試着超時0,也是1,但他們沒有工作。我猜Chrome在模式確認窗口暫停一切之前只需要一點時間來更新背景顏色。 (25毫秒的作品,但我認爲50可能更安全,延遲幾乎不可通知。) – George