d3 click coordinates are relative to page not svg - how to translate them (Chrome error)

前端 未结 1 1779
执笔经年
执笔经年 2020-12-07 21:39

When an event is in play, d3.event.x gives the position of the x coordinate of the mouse click, but relative to the entire HTML doc. I tried using jQuery\'s $(\'svg\').posit

相关标签:
1条回答
  • 2020-12-07 22:15

    Instead of using d3.event, which is the browser's native event, use d3.mouse to get the coordinates relative to some container. For example:

    var svg = d3.select("body").append("svg")
        .attr("width", 960)
        .attr("height", 500);
    
    var rect = svg.append("rect")
        .attr("width", "100%")
        .attr("height", "100%")
        .on("mousemove", mousemove);
    
    function mousemove(d, i) {
      console.log(d3.mouse(this));
    }
    
    0 讨论(0)
提交回复
热议问题