Лучшее понимание поведения Drupal

Я читал о поведении Drupal сегодня, и я пробовал написать следующий код.

(function ($) {

  Drupal.behaviors.mymodule = {
    attach: function (context, settings) {
      $('#mymodule_id', context).change(function () {
        alert('Handler for .change() called.');
      });
    }
  };

}(jQuery));
  • Является Drupal.behaviors.mymodule пространство имен?
  • Каковы параметры контекста и параметров, переданные в поведение Drupal?
  • Является ли это эквивалентом document.ready()?
  • Можно ли добавить любое количество функций?
  • Могу ли я определить функции JavaScript, которые будут вызываться где-нибудь?
46 голосов | спросил Hacker 21 stEurope/Moscowp30Europe/Moscow09bEurope/MoscowWed, 21 Sep 2011 19:20:06 +0400 2011, 19:20:06

2 ответа


54

Короче говоря, преимущество Behaviors над document.ready() заключается в том, что они автоматически повторно применяются к любому контенту, загружаемому через AJAX. mymodule - ваше пространство имен, которое должно быть уникальным. context - это часть страницы, для которой это применимо, например, часть формы, которая была обновлена ​​с помощью AJAX. Вы можете прикрепить несколько вариантов поведения, но я думаю, вам нужно использовать уникальное имя (mymodule) для каждого из них.

Для получения дополнительной информации см. следующие ресурсы:

ответил Berdir 25 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowSun, 25 Sep 2011 13:38:07 +0400 2011, 13:38:07
0

Это сообщение в блоге от Lullabot прекрасно справляется с концепциями вокруг поведения JS: https://www.lullabot.com/articles/understanding-javascript-behaviors-in-drupal

ответил Steve Persch 21 stEurope/Moscowp30Europe/Moscow09bEurope/MoscowMon, 21 Sep 2015 22:38:09 +0300 2015, 22:38:09

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132