最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - How can I dispatch a 'zoom' event after setting scale (d3, zoom.behavior) - Stack Overflow

programmeradmin2浏览0评论

How can I trigger the zoom event, once I've set scale manually on the zoom behavior?

var zoom = d3.behavior.zoom()
    .scaleExtent([0.5, 4])
    .on('zoom', onzoom);

// later on
zoom.scale(2);

How can I trigger the zoom event, once I've set scale manually on the zoom behavior?

var zoom = d3.behavior.zoom()
    .scaleExtent([0.5, 4])
    .on('zoom', onzoom);

// later on
zoom.scale(2);

https://github.com/mbostock/d3/wiki/Zoom-Behavior#wiki-scale

Share Improve this question edited Oct 7, 2015 at 13:32 Sheena 16.2k15 gold badges78 silver badges122 bronze badges asked Oct 29, 2012 at 11:06 Benny SchudelBenny Schudel 2212 silver badges6 bronze badges 2
  • Did you see the programmatic pan + zoom example? – mbostock Commented Oct 29, 2012 at 17:45
  • any suggestion for d3 v4 or v5? – Stranger in the Q Commented Jul 5, 2018 at 7:57
Add a comment  | 

1 Answer 1

Reset to default 22

Firstly, you need to attach the zoom behavior to an SVG object. As well, you can call the zoom function on the zoom object.

var zoom = d3.behavior.zoom()
    .scaleExtent([0.5, 4])
    .on('zoom', onzoom);

//svgElement is an actual element such as a rect or text or group
svgElement.call(zoom);

// later on
zoom.scale(2);
zoom.event(svgElement);

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论