2015-04-21 28 views
6

Jak wykryć zdarzenie zamknięcia dla materialized.js?Jak wykryć zamknięcie modalne Materialized.js?

Chcę uruchomić kod JavaScript, gdy modal został zamknięty, klikając przycisk zamknięcia modalnego lub naciskając klawisz Escape lub klikając dowolny inny obszar ekranu.

+0

Nie wiem ramy/biblioteki o nazwie materialized.js. Czy masz na myśli tę bibliotekę? http://materializecss.com/modals.html –

Odpowiedz

10

Wygląda na to, że masz na myśli zamknięcie dla modalnego z framework materializecss.

Wersja 0.97.1 (15 września 2015 r.) Podczas otwierania modala można przekazać opcje (patrz: http://materializecss.com/modals.html#options), ale należy pamiętać, że jest to bardzo złudny opis, ponieważ opcje nie są zapisywane, gdy przy użyciu lean_modal (https://github.com/Dogfalo/materialize/issues/1464), więc powinny być przekazywane tylko do openModal.

Podsumowując:

var onModalHide = function() { 
    alert("Modal closed!"); 
}; 

$("#id-of-your-modal").openModal({ 
    complete : onModalHide 
}); 
1

Może jestem zbyt późno, aby podzielić się moimi przemyśleniami tutaj, ale w przypadku, gdy chcesz przekazać zmienną/argumentu w funkcji ekspresji gdy modalne blisko. Możesz użyć tego kodu:

Na przykład: kiedy chcesz zresetować pola formularza, gdy modalnie się zamkniesz. Mam nadzieję, że to pomoże. Przy okazji, dzięki Jack L/@ Jack L. (ja wiem, jak wymienić TT)

+1

To nie działa, ponieważ ** dodawanie parametrów na końcu funkcji powoduje jego nieumiejętność ** i zamiast tego zwracana jest wartość 'undefined'. –

+0

To cenny wgląd! I nigdy nie jest za późno :) –

1

To proste teraz z najnowszą wersją:

http://materializecss.com/modals.html

można dostosować zachowanie każdego modalnym używając tych opcji. Na przykład można wywołać funkcję niestandardową, która będzie uruchamiana po zwolnieniu modala. Aby to zrobić, po prostu umieść swoją funkcję w kodzie intializacji, jak pokazano poniżej.

$('.modal').modal({ 
     dismissible: true, // Modal can be dismissed by clicking outside of the modal 
     ready: function(modal, trigger) { // Callback for Modal open. Modal and trigger parameters available. 
     alert("Ready"); 
     console.log(modal, trigger); 
     }, 
     complete: function() { alert('Closed'); } // Callback for Modal close 
    } 
); 
+0

Cóż, to bardzo dobrze, ta funkcjonalność zostanie osiągnięta w moim kolejnym projekcie w Sha Allah. Dzięki, @Syed. –