D3.js 跟踪点击事件的d3数据
如果单击路径,我将设置一个clicked属性。单击svg时,我如何检查该属性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
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()
,将该放入循环即可