2015-04-21 6 views
6

Comment détecter l'événement de clôture pour materialized.js? Je veux exécuter du code JavaScript lorsque le modal est fermé soit en cliquant sur le bouton de fermeture modale ou en appuyant sur le bouton d'échappement ou en cliquant sur une autre zone de l'écran.Comment détecter l'événement de fermeture modale Materialized.js?

+0

Je ne connais pas de structure/bibliothèque appelée materialized.js. Voulez-vous dire cette bibliothèque? http://materializecss.com/modals.html –

Répondre

10

On dirait que tu veux dire événement de clôture pour modal du materializecss cadre. Comme pour la version 0.97.1 (15 septembre 2015) Lorsque vous ouvrez un modal, vous pouvez passer des options (voir: http://materializecss.com/modals.html#options), mais notez que c'est une description très trompeuse, car les options ne sont pas sauvegardées quand en utilisant lean_modal (https://github.com/Dogfalo/materialize/issues/1464), ils doivent donc être passés uniquement à openModal.

Pour résumer:

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

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

Peut-être que je suis trop tard pour partager ici mes pensées, mais si vous voulez passer une variable/argument expression de fonction lorsque de près modal. Vous pouvez utiliser ce code

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

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

E.g. lorsque vous souhaitez réinitialiser les champs de votre formulaire lors de la fermeture modale. J'espère que cela aidera. Soit dit en passant, grâce à Jack L/@ Jack L. (Je ne sais pas comment mentionner TT)

+1

Cela ne fonctionne pas parce que ** l'ajout de paramètres à la fin de la fonction l'exécute immédiatement ** et 'undefined' est renvoyé à la place. –

+0

Voilà un aperçu précieux! Et ce n'est jamais trop tard :) –

1

Il est facile maintenant avec la dernière version:

http://materializecss.com/modals.html

Vous pouvez personnaliser le comportement de chaque modal en utilisant ces options. Par exemple, vous pouvez appeler une fonction personnalisée à exécuter lorsqu'un modal est rejeté. Pour ce faire, placez simplement votre fonction dans le code d'initialisation comme indiqué ci-dessous.

$('.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

Eh bien, c'est très bien, cette fonctionnalité sera atteinte dans mon prochain projet en sha Allah. Merci, @Syed. –