1
Я следую this tutorial, чтобы узнать, как масштабировать svg. Вот мой код.D3 zoom - Невозможно прочитать свойство «apply» of undefined
var vis = d3.select("#svg-canvas").append("svg")
.attr("width", "550")
.attr("height", "400")
.append("g")
.attr("class", "svg-container")
.attr("transform", "translate(550,400)")
.call(zoom);
vis.append("rect")
.attr("x", 10)
.attr("y", 10)
.attr("width", 100)
.attr("height", 40)
.style("fill", "#444");
var zoom = d3.behavior.zoom()
.scaleExtent([1, 10])
.on("zoom", zoomed);
function zoomed() {
d3.select(".svg-container").attr("transform", "translate(" + d3.event.translate + ")scale(" + d3.event.scale + ")");
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.11/d3.min.js"></script>
<div id="svg-canvas">
</div>
Но я получаю сообщение об ошибке в консоли, которая говорит следующее
Uncaught TypeError: Cannot read property 'apply' of undefined
.
Что я делаю неправильно?