2017-10-09 159 views
1

我目前正在使用sweetalert2,並試圖檢測警報何時關閉。但是DeleteUnsavedImages函數不會觸發。我認爲將函數分配給onclose鍵可行,但沒有運氣。如何監聽甜蜜警報關閉

swal({ 
     html: data, 
     showCloseButton: false, 
     showCancelButton: false, 
     width: 800, 
     showConfirmButton: false, 
     onClose: DeleteUnsavedImages() 
    }).then(function() { 

    }); 


function DeleteUnsavedImages(){ 
    var test = "-1"; 
} 

:-)

+3

嘗試刪除(),'的OnClose:DeleteUnsavedImages' –

+0

工作!謝謝。 –

+0

哦,@BoyWithSilverWings在評論中給出瞭解決方案。酷... –

回答

2

我與我的甜蜜警報測試,以確認該問題的任何幫助將不勝感激,你只需要通過函數名,而不()和功能將被稱爲內onClose事件處理程序的swal。當onClose被解僱時,它被稱爲傳遞函數的參考。

做這樣的變化不大:

swal({ 
     html: data, 
     showCloseButton: false, 
     showCancelButton: false, 
     width: 800, 
     showConfirmButton: false, 
     onClose: DeleteUnsavedImages  // Removed() from here 
    }).then(function() { 

    }); 


    function DeleteUnsavedImages(){ 
     var test = "-1"; 
    } 
+0

你沒有調用'DeleteUnsavedImages'函數。您提供了對函數的引用,然後在警報關閉時調用該函數。 – fubar

+0

是的,它被稱爲傳遞函數的引用,當'onClose'被觸發的時候調用。 –

+0

是的,我知道。但是你的回答是這樣的:你只需要調用沒有'()'_的函數,這是不正確的。你沒有調用這個函數。您正在傳遞對函數的引用。 – fubar