2013-07-02 5 views
0

아주 간단한 d.3 문제로 인해 붙어 있습니다. 부모 노드 관계가있는 노드가 있습니다. 부모 노드를 제외한 모든 노드를 클릭하는 시나리오를 만들려고합니다.d3.js의 상위 노드가 아닌 클릭 노드

나는 이런 식으로 생각하고 있습니까?

.on(click, function(node){ 
    if(!= node.parent){ 
    window.location = d.url; 
    } 
}) 

분명히 작동하지 않습니다. 이 구문은 무엇입니까?

이렇게 반환 된 json이 어떻게 생겼는지 보여줍니다. 이것은 어떻게 부모가 무엇을보고하고 아이디어를 줄 것이다 및 아이들은 무엇

functiongetNodes(){ 
    varinNodes={ 
     "name": "Test App", 
     "dept": "NYC", 
     "children": [ 
      { 
       "name": "HPD Data Feeds", 
       "dept": "Third Party", 
       "category": "API", 
       "size": 15, 
       "url": "http://nycpdev.localhost:8082/api/hpd-data-feeds" 
      }, 
      { 
       "name": "DOT Data Feeds", 
       "dept": "Third Party", 
       "category": "API", 
       "size": 15, 
       "url": "http://nycpdev.localhost:8082/api/dot-data-feeds" 
      }, 
      { 
       "name": "HPD Data Feeds", 
       "dept": "Third Party", 
       "category": "App", 
       "size": 15, 
       "url": "http://nycpdev.localhost:8082/api/hpd-data-feeds" 
      } 
     ], 
     "size": 20, 
     "url": "app/113" 
    };returninNodes; 
} 
+0

노드 여부를 결정 무엇 부모 노드인지 여부 –

+0

@ lars..just는 json 출력을 추가했습니다. 어떻게하면 아이들을 얻는 지 이해할 수 있습니다. 사실 "url": "app/113"은 어떤 종류의 쓰레기입니다. 나는 그것을 제거 할 수 없습니다. 그래서 기본적으로 부모를 클릭하지 않으려 고 시도합니다. – soum

답변

0

당신은 노드가 JSON에서 직접 자녀가 있는지 여부 얻을 수 있습니다 :

.on(click, function(node){ 
    if(!node.children){ 
    window.location = d.url; 
    } 
}) 
+0

@thanks lars. 그것은 쉽다 :-) – soum