StopPropagation ()с элементом SVG и G

Я создал элемент SVG с поведением .on("click")и добавил элементы g с .on("click")и подумал, что могу использовать d3.event.stopPropagation(), чтобы событие щелчка SVG не срабатывало с событием щелчка g. Вместо этого оба события продолжают срабатывать. Так что я, должно быть, помещаю stopPropagation не в то место.

svg = d3.select("#viz").append("svg:svg")
   .attr("width", 800)
   .attr("height", 800)
   .on("mousedown", mousedown);

sites = svg.selectAll("g.sites")
   .data(json.features)
   .enter()
   .append("svg:g")
   .on("click", siteClick)
    ;

sites.append("svg:circle")                
   .attr('r', 5)
   .attr("class", "sites")
    ;

function mousedown() {
    console.log("mouseDown");
}

function siteClick(d, i) {
    d3.event.stopPropagation();
    console.log("siteClick");
}
13
задан Brian Tompsett - 汤莱恩 6 October 2019 в 15:48
поделиться