2017-11-30 2 views
0

Mein Setup: Eine Schaltfläche "Video öffnen". Ein Formular, wenn der Benutzer auf Handouts oder Videos klickt, wird Ajax aufgerufen, um die Dateien mit den Schaltflächen zu rendern.Javascript + Drupal

Meine Frage ist:

Wenn ich die Seite und klicken Sie auf „Öffnen Sie das Video“ machen, ich habe Ausfahrt zweimal klicken aus. Ich gehe davon aus, dass ModalVideo zweimal aufgerufen wird, einmal beim Rendern und einmal beim Senden des Formulars. Ich habe mich gefragt, ob irgendjemand irgendwelche Zeiger oder Verweise auf drupal Verhalten auf Formen/Javascript hat, die einmal gelaufen sind. Vielen Dank.

Drupal.behaviors.customJS = { 
    attach: function(context, settings){ 
    // import ModalVideo from 'modal-video'; 
    new ModalVideo(".js-video-vimeo-btn",{channel:'vimeo'}); 
    } 
} 

------ AKTUALISIERT SOLUTION -------

Drupal.behaviors.customJS = { 
    attach: function(context, settings){ 
    //every time the view is updated on ajax call, run only once 
    $('.view-pdf-views').once(function(){ 
     // import ModalVideo from 'modal-video'; 
     new ModalVideo(".js-video-vimeo-btn",{channel:'vimeo'}); 
    }); 
    } 
} 

Antwort

1

Sie einmal verwenden müssen() Plugin, das auf Drupal geliefert wird. Überprüfen Sie JS API Overview

+0

Vielen Dank! Genau das, was ich brauchte. –