D3 Наведение курсора на несколько элементов

Я пытаюсь выделить некоторые из моих элементов svg при наведении курсора мыши на определенный элемент.

Итак, у меня есть такие элементы, как один большой круг, маленькие кружки для каждого узла, линия для каждого узла, текст для каждого узла.

Что я могу сделать, это что-то вроде этого:

on("mouseover", function(d) {
      d3.select(this)
      .style("fill", '#0da4d3');})

Но я хочу использовать метод mouseover не только для элемента, в который я добавляю код.

Например, при выборе большого корневого круга я хочу использовать наведение мыши для корневого круга, всех текстов, линий и всех маленьких кругов.


person Marc Schneider    schedule 24.03.2015    source источник
comment
Являются ли другие элементы дочерними элементами элемента, вызывающего событие наведения мыши? В этом случае вы можете использовать простые выборки d3.select(this).select('.myredcircle'); и т.д.   -  person Imperative    schedule 24.03.2015


Ответы (1)


Используйте d3 выборки. Например, чтобы выбрать все круги:

on("mouseover", function(d) { d3.selectAll("circle").style("fill", '#0da4d3');})
person eladcon    schedule 24.03.2015
comment
Эй 3906922, Спасибо за вашу помощь! это сработало. - Но когда я хочу выделить текст, линию и кружок, относящиеся к узлу, при выборе одной из трех частей. Они не находятся в одной группе Svg. Как мне поступить? Поместить их в одну группу svg? Спасибо - person Marc Schneider; 24.03.2015