2013-06-14 16 views
5

Używam do przesyłania obrazów. Kiedy użytkownik kliknie lub naciśnie przycisk zamykania, chciałbym uzyskać od użytkownika potwierdzenie, czy zamknąć na nie.Magnific Wyskakujące wywołanie zwrotne podczas zamykania

To mój Javascript:

$('#upload').magnificPopup({ 
    type:'inline', 
    callbacks: { 
     close: function(){ 
      if(confirm("Are you sure you want to close?")) { 
       return true; 
      } 
       return false; 
      } 
      } 
     } 
}); 

Ale to nie działa.

Odpowiedz

2

u mogą spróbować tej

('#upload').magnificPopup({ 
    type:'inline', 
    callbacks: { 
     close: function(){ 
     var didConfirm = confirm("Are you sure?"); 
     if(didConfirm ==false){ 
      return false; 
     } 
     } 
    }); 
+2

Dzięki. skompresowałeś moje pytanie. Nie działa – Mifas

+0

@Mifas myślę, że prawdziwym problemem jest zwrócenie przez wid wartość, dlaczego chcesz uzyskać najwyższą wartość potwierdzenia ?, po prostu odwracając pierwotny przepływ funkcji zamknięcia – CodeHunter

+0

@ Mifas Myślę, że będzie działać teraz (jego już ze mną) – CodeHunter

7

Można override the close method. Modyfikując instance, zmienisz tylko funkcjonalność tego konkretnego popup. Następnie po prostu wywołaj oryginalną metodę close, aby zakończyć pracę.

$('#upload').magnificPopup({ 
    type:'inline', 
    callbacks: { 
    open: function() { 
     $.magnificPopup.instance.close = function() { 
     // Do whatever else you need to do here 
     var confirmed = confirm("Are you sure you want to close?"); 
     if(!confirmed) { 
      return; 
     } 

     // Call the original close method to close the popup 
     $.magnificPopup.proto.close.call(this); 
     }; 
    } 
    } 
}); 
Powiązane problemy