2015-09-30 1 views
2

При щелчке родительского узла в макете дерева, ссылка и linktext должны выйти. Ссылка выходит, но не linktext. Вот jsfiddle project. Я пробовал код - svg.selectAll(".line-label").remove();, который удалял linkText со всех ярлыков, которых не должно было случиться. То, что я ожидаю, - это щелчок узла, который выходит из linkText как ссылка и узел из текущей ветви дерева, а не из всего дерева.При щелчке родительского узла в макете дерева, как ссылка и узел, linkText также должен выйти

ответ

0

Вы можете сделать это Добавление ссылки, как это обновление:

//add text to the link 
svg.selectAll(".line-label").data(links).enter().append("text") 
    .attr("font-family", "Arial, Helvetica, sans-serif") 
    .attr("fill", "Black") 
    .attr("class", "line-label") 
    .style("font", "normal 12px Arial") 
    .attr("transform", function (d) { 
      return "translate(" + (d.target.y - 30) + "," + (d.target.x - 10) + ")"; 
     }) 
    .attr("text-anchor", "middle") 
    .text(function (d) { 

    return d.target.label; 
}); 
//remove the link text in update 
svg.selectAll(".line-label").data(links).exit().remove(); 

полного ход Кода here

Надеется, что это проясняет ваше беспокойство! :)

+0

Кирилл, linkText удаляется из цельного дерева. Если я снова нажму на дочерний узел для дальнейшего расширения для дерева, то в этом конкретном событии выхода ветви ветки он должен удалить только linkText только из этой ветви. Но он удаляется из цельного дерева. Для глубины дерева более одного он не работает. – RCS