2017-10-05 1 views
1

경로를 클릭하면 클릭 속성을 설정합니다. svg를 클릭하면 해당 속성을 어떻게 확인할 수 있습니까?클릭 이벤트에 대한 d3 데이터 추적

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); 

답변

1

이미 해당 요소의 데이텀 속성을 설정했다고하고 변수가 하나 개의 요소, 사용 속성을 얻을 수 있습니다 참조하는 제공을 설정

예를 들어 변수에 저장하면 false 또는 true :

var isClicked = pathHover.datum().clicked; 

16,나는 이 건물은 사용자가 요소를 클릭 할 때만 설정하여 last question에 대한 내 대답에 따라, 때문에 "이미 속성을 설정했다고 제공"고 말했다. 이 방법을 사용했다면 위의 코드 조각은 요소를 클릭하기 전에 SVG를 클릭하면 undefined을 반환합니다.

또는 요소가 여러 개인 경우 해당 속성에 따라 filter()을 선택하고 루프를 for 개로 삭제하십시오.

관련 문제