D3.js 跟踪点击事件的d3数据

D3.js 跟踪点击事件的d3数据,d3.js,D3.js,如果单击路径,我将设置一个clicked属性。单击svg时,我如何检查该属性 this.svg = this.selectorElement.append('svg') .on('click', function(d) { console.log('svg clicked'); for (let

如果单击路径,我将设置一个clicked属性。单击svg时,我如何检查该属性

this.svg = this.selectorElement.append('svg')
                               .on('click', function(d) {
                                   console.log('svg clicked');
                                   for (let path of dataPaths) {

                                   }
                               });
在此处设置属性

pathHover.on('click', function(d) {
         d.clicked = !d.clicked;
         d3.event.stopPropagation();
      });

dataPaths.push(pathHover);

如果已经将属性设置为该元素的基准,并且变量仅引用一个元素,则可以使用以下方法获取属性:

pathHover.datum().clicked;
例如,将其存储在变量中,该变量将为
false
true

var isClicked = pathHover.datum().clicked;
我说“假设您已经设置了属性”,因为根据我对您的回答,只有在用户单击元素时才设置属性。如果保持这种方法,如果在单击元素之前单击SVG,上面的代码段将返回
undefined

或者,如果您有多个元素,只需根据属性选择
filter()
,将该
放入
循环即可