Поведения
Справочник API ▸ Поведения
Поведения инкапсулируют сложный набор низкоуровневых взаимодействий с DOM (т.е. пользовательские жесты, которые различаются в зависимости от методов ввода) в набор пользовательских событий более высокого уровня (см. d3.dispatch). Поведения часто позволяют пользователю произвести дополнительную настройку. D3 включает два встроенных поведения:
- Перетаскивание — отслеживает перемещение мыши или многократного касания относительно начала координат
- Масштабирование — генерирует события масштабирования и перемещения в ответ на распространённые методы ввода
Поведения, как правило, являются функциями, которые можно применять к выделению с помощью оператора вызова. Например, можно создать и применить поведение к выделению следующим образом:
selection.call(d3.behavior.drag().on('dragstart', function (d) {
console.log("Started moving item with data:", d);
}));
Обратите внимание на вложенность: событие 'dragstart' регистрируется на экземпляре d3.behavior.drag(), а не на выделении! Именно этот экземпляр — который сам по себе также является функцией — вызывается по выделению. Этот вызов позволяет поведению выполнить собственные внутренние настройки на выделении.
© 2010–2016 Michael Bostock
Licensed under the BSD License.
https://github.com/d3/d3-3.x-api-reference/blob/master/Behaviors.md