D3:如何在点击事件中删除形状?

用户名

我目前有一张世界地图,在我的地图上某个国家/地区的click事件上,它将在同一地方添加具有不同颜色的矩形。我的代码存在的问题是,单击国家(地区)将导致在svg中添加矩形(每次单击时,都会在另一个顶部添加一个矩形),因为我要附加它们。我想做的是单击一个国家时删除上一个添加的矩形,然后添加下一个。

我当时正在考虑使用.remove(),但是我不确定这是否正确,也不确定如何在代码中实现它。

任何帮助或建议,我们将不胜感激!提前致谢!

我有的代码

.on("click",clicked)



function clicked(d,i) {
        if(d.properties.name === "Mexico") {
            var rectGroup = svg.append("g");

            var rectGreen = rectGroup.append("rect")
                  .attr("width", 100)
                          .attr("height", 100)
                          .attr("fill", "green")
                          .attr("transform", "translate(50, 0)");

        }else {
            var rectGroup = svg.append("g");

            var rectBlue = rectGroup.append("rect")
                  .attr("width", 100)
                          .attr("height", 100)
                          .attr("fill", "blue")
                          .attr("transform", "translate(50, 0)");

        }
    }
达扬·莫雷诺·莱昂

你可以做类似的事情

        var creation=Date.now();
        var rectBlue = rectGroup.append("rect")
               .attr("width", 100)
               .attr("height", 100)
               .attr("fill", "blue")
               .attr("transform", "translate(50, 0)")
               .attr('id','rect_'+creation)
               .attr('onclick',"removeRect('rect_"+creation+"')")

;

然后有一个功能

    function removeRect(id){
          d3.selectAll('g #'+id).remove();

   }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在d3中对形状选择进行排序

来自分类Dev

如何在 d3 中添加不同的形状标记?

来自分类Dev

D3从选择中的一个元素中删除点击事件

来自分类Dev

在点击事件中以编程方式访问d3矩形

来自分类Dev

使用d3更改点击事件中的数据

来自分类Dev

D3淘汰事件先于点击

来自分类Dev

如何在D3 js中连续旋转任何形状?

来自分类Dev

如何在D3 JS中避免树形布局的某些节点的可点击性

来自分类Dev

如何在 d3 v4 中制作可点击的过渡条形图?

来自分类Dev

如何在D3中可视化事件时间线?

来自分类Dev

如何在d3中对项目执行鼠标悬停事件?

来自分类Dev

更新数据后,React / D3中的点击事件未更新

来自分类Dev

如何停止Angular处理d3中的click事件

来自分类Dev

如何在Verold中创建点击事件?

来自分类Dev

如何在Javascript中打印点击事件

来自分类Dev

如何在CustomPaint中删除多余的形状?

来自分类Dev

如何在PowerPoint中删除形状的片段?

来自分类Dev

合并D3中的多个事件

来自分类Dev

如何在D3中对齐文本和标签

来自分类Dev

如何在d3中更改文本元素?

来自分类Dev

如何在D3中取消预定的过渡?

来自分类Dev

如何在d3图表中命名该系列?

来自分类Dev

如何在D3中获取特定的变换属性

来自分类Dev

如何在D3中链接函数调用?

来自分类Dev

如何在D3中从JSON请求数据?

来自分类Dev

如何在D3中为文本锚定动画

来自分类Dev

如何在D3中更改x轴?

来自分类Dev

如何在D3中更改饼图的位置?

来自分类Dev

如何在d3中分割序数轴?