Пинч D3 для увеличения не работает в v5, но работает в v4 - PullRequest
1 голос
/ 29 января 2020

Использование двух пальцев для увеличения сенсорной панели на моей ма c работает на D3v4:

https://jsfiddle.net/zshktfp9/2/

Нажмите на svg и масштаб работает как Я ожидаю.

Но тот же код больше не работает в v5:

https://jsfiddle.net/zshktfp9/4/

Он больше не увеличивает в SVG, но весь браузер масштабируется.

Я пробовал это на chrome и сафари на ма c, и мой друг тестировал его на windows chrome, такой же разрыв в функциональности происходит между v4 и v5.

    var zoom = d3.zoom()
        .scaleExtent([1, 10])
        .on("zoom", function() { grp.attr("transform", d3.event.transform) });
    svg.call(zoom);

Насколько я могу сказать, я ничего не могу найти, что я должен делать по-другому в v5. Что-то мне не хватает, или это ошибка в D3. js?

1 Ответ

0 голосов
/ 09 мая 2020

Я думаю, что это может быть ошибкой, поэтому я подал https://github.com/d3/d3-zoom/issues/204 - я не уверен, как отключить Ctrl + клик при включении ма c пинч-масштаб, чтобы я не мог создайте запрос на извлечение.

Пока вы можете обойти это, переопределив функцию фильтра:

d3.zoom().filter(() => !d3.event.button)...

, которая восстанавливает поведение v4.

...