Tôi đã có hai mô-đun khác nhau mà theo nhiều cách làm việc cùng nhau. Một trong những điều họ làm việc cùng nhau là mô-đun A tải nội dung qua AJAX và mô-đun B cần đính kèm các trình lắng nghe sự kiện vào nội dung được tải.
Tuy nhiên, dường như khi nội dung được tải qua AJAX bởi mô-đun A, chỉ có chức năng 'đính kèm' của Drupal.behaviours.a được gọi, chứ không phải chức năng 'đính kèm' của Drupal.behaviours.b . Cả hai chức năng đều được gọi khi tải trang, nhưng không phải tải nội dung AJAX tiếp theo.
// 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');
}
}
Làm cách nào để tôi thực hiện chức năng 'đính kèm' của Drupal.behaviours.b mỗi khi bất kỳ mô-đun nào tải nội dung mới?
$('body').ajaxSuccess(Drupal.attachBehaviors);
có thể sẽ hoạt động
Drupal.attachBehaviors();
vào cuộc gọi lại thành công ajax chưa?