Ho due moduli diversi che in molti modi lavorano insieme. Una delle cose su cui lavorano insieme è che il modulo A carica il contenuto tramite AJAX e il modulo B deve collegare listener di eventi al contenuto caricato.
Tuttavia, sembra che quando il contenuto viene caricato tramite AJAX dal modulo A, viene invocata solo la funzione 'attach' di Drupal.behaviours.a e non la funzione 'attach' di Drupal.behaviours.b . Entrambe le funzioni vengono invocate al caricamento della pagina, ma non al successivo caricamento del contenuto AJAX.
// This runs every time module A loads new content.
Drupal.behaviors.a = {
attach: function(context, settings) {
alert('a:attach');
}
}
// This only runs on page load, but never when module A loads new content.
Drupal.behaviors.b = {
attach: function(context, settings) {
alert('b:attach');
}
}
Come faccio a far funzionare la funzione 'attach' di Drupal.behaviours.b ogni volta che un modulo carica nuovi contenuti?
$('body').ajaxSuccess(Drupal.attachBehaviors);
probabilmente funzionerà
Drupal.attachBehaviors();
al callback di successo Ajax?