Как переопределить события перетаскивания в C3.js
В настоящее время я пытаюсь реализовать функцию масштабирования, которая немного отличается от той, которая уже существует.
На самом деле, мне бы хотелось, чтобы, если пользователь щелкает и перетаскивает график, он увеличивает масштаб на определенном домене. Я хотел бы сделать это таким образом, потому что с помощью колеса мыши это предотвращает пользователя от страницы вверх / вниз.
Поскольку это не представляется возможным сC3.js API
Я попытался реализовать событие перетаскивания, следуя этому небольшому пошаговому руководству на D3.jsПеретащите Поведение, Тем не менее, я не очень хорошо понял, так как он не работает, когда я пытаюсь сделать это на графике.
Вот пример моего кода:
function setHandlers() {
/**
* A custom drag event to zoom on the graph
*/
var drag = d3.behavior.drag();
d3.selectAll('.c3-event-rects').on(".drag", null);
drag
.on('dragstart', function (d) {
d3.event.sourceEvent.stopPropagation();
console.log("start");
console.log(d)
})
.on('drag', function (d) {
console.log("on bouge :)")
})
.on('dragend', function (d) {
console.log("end");
console.log(d)
})
}
Я вызываю эту функцию всякий раз, когда обновляю свой график, и я уже закодировал пользовательский обработчик для двойного щелчка (в той же функции, но у меня он отключен, чтобы быть более понятным). Я хотел бы знать, как успешно вызвать событие перетаскивания в графике C3.js, особенно события dragstart и dragend?
Большое спасибо за ваши ответы