Перейти к основному содержимому

Обработка событий

Подключение обработчиков событий​

Вы можете добавить любой пользовательский обработчик к любому из доступных событий. Для этого используйте метод diagram.events.on() со следующими параметрами:

  • name - (string) имя события
  • handler - (function) функция-обработчик
diagram.events.on("ShapeClick", (id) => {
alert("You've just clicked an item with id="+id);
});

Вы можете прикрепить к одному событию несколько обработчиков, и все они будут выполнены. Если какой-либо из обработчиков возвращает false, связанная операция будет заблокирована. Обработчики событий выполняются в том же порядке, в котором они были прикреплены.

Отключение обработчиков событий​

Чтобы отключить события, используйте метод diagram.events.detach():

diagram.events.on("CustomEvent", args);

diagram.events.detach("CustomEvent");

Вызов событий​

Чтобы вызвать событие, используйте метод diagram.events.fire().

diagram.events.fire("CustomEvent", args);
// где args — это массив аргументов

Обычно события вызываются автоматически, и использовать этот метод не требуется.

Список поддерживаемых событий​

События Diagram​

Полный список событий API Diagram см. в справочнике API.

События Editor​

Список событий API редактора Diagram приведён в разделе API.

Примечание

Помимо событий редактора Diagram, вы также можете применять события объекта диаграммы при работе в режиме редактора. Например:

const editor = new dhx.DiagramEditor("editor_container", {
controls: { autoLayout: false }
});
editor.parse(data);

editor.diagram.events.on("ShapeClick", (id) => {
alert("You've just clicked an item with id=" + id);
});

Такой способ также можно использовать, если нужно применить события, перечисленные ниже.

События CellManager​

Полный список событий API CellManager см. в справочнике API.

События DataCollection​

Полный список событий API DataCollection см. в справочнике API.

События InlineEditor​

Полный список событий API InlineEditor см. в справочнике API.

События Selection​

Полный список событий API Selection см. в справочнике API.