2014-09-18 16 views
5

Sto provando ad acquisire l'evento di apertura/chiusura modale bootstrap in meteor js per fare alcuni controlli personalizzati. Io so come farlo in jQuery:come catturare l'evento di apertura/chiusura modale bootstrap in meteor js

$('#videoCallModal').on('shown.bs.modal', function() { 
    // do something… 
}) 

ma siccome voglio anche fare riferimento al contesto (questo oggetto), voglio farlo in Template.template.events.

ho provato qualcosa di simile, ma la funzione non è stata invocata:

Template.videoCall.events = { 
    'on #videoCallModal shown.bs.modal': function(e){ 
     e.preventDefault(); 

     console.log("modal open", this); 
    } 
} 

c'è qualche altro modo per catturare la chiusura/apertura di modal in meteora js

risposta

12

La sintassi corretta è:

Template.videoCall.events({ 
    'shown.bs.modal #videoCallModal': function(e){ 
    /* ... */ 
    } 
}); 

Vai a questa meteorpad.

4

ho creato peppelg:bootstrap-3-modal per fornire un semplice modo per gestire i modali in Meteor. Con esso, è possibile utilizzare i callback e destroyed (proprio come in Meteor!), Anziché gli eventi di apertura e chiusura.

+0

Non funziona per le versioni inferiori a 0.9.0? Non ho ancora spostato il mio codice a 0.9.0. –

+0

@AashuAgarwal, mi dispiace, ma non è possibile installare il pacchetto a meno che non si stia utilizzando la versione 0.9.1.1 o successiva. Tuttavia, non è un pacchetto complesso, semplicemente copiando [questo file HTML] (https://github.com/PeppeL-G/bootstrap-3-modal/blob/master/main.html) e [questo file JavaScript] (https : //github.com/PeppeL-G/bootstrap-3-modal/blob/master/main.js) al tuo progetto meteor può farlo funzionare, a seconda della versione di Meteor che stai usando. Le uniche cose che potresti avere problemi sono 'UI.dynamic',' Blaze.renderWithData' e 'Blaze.remove' (a seconda della versione di Meteor). –

+0

dopo aver provato così tanti diversi pacchetti per le mod di meteor boostrap peppelg: bootstrap-3-modal ha finito per essere il più semplice da usare. fantastico lavoro – MurWade