2012-08-13 3 views
1

J'essaie d'étendre le plugin Modal de Twitter Bootstrap. Existe-t-il un moyen propre de déclencher une action lorsqu'un pop-up modal est affiché et masqué. Essayé ci-dessus mais ne fait rien.Extension de l'extension Modal de Twitter Bootstrap

$("#xyz").clone().modal({"backdrop": "static", "keyboard":true, "show":true}); 
$("#xyz").on("shown", function(e){ console.log("hi");}); 

Essayé ci-dessus mais ne fait rien.

Je ne veux pas spécifier la fonction ci-dessus pour tous les appels modaux dans mon code. Ce que je veux vraiment, c'est faire une fonction générique pour tout modal à chaque fois que montré ou caché.

Merci!

Répondre

2

Votre code ne fonctionne pas car vous affectez le gestionnaire d'événements à $('#xyz'), mais vous créez un modal à partir de $('#xyz').clone(), qui est un objet distinct.

Essayez:

$("#xyz").on("shown", function(e){ console.log("hi");}); 
$("#xyz").clone(true).modal({"backdrop": "static", "keyboard":true, "show":true}); 

Joindre le gestionnaire d'événements en premier lieu, puis cloner, en vous assurant de passer true comme un argument pour que tous les gestionnaires d'événements et les données attachées à $('#xyz') sont transmises à l'objet cloné.

+0

Génial! Fonctionne très bien! Merci beaucoup! Ouais, aussi réalisé, juste besoin de clone (true) au lieu de clone (true, true) –

+0

Oui, j'ai remarqué aussi et mis à jour la réponse en conséquence. – jackwanders

Questions connexes