Я хочу создать простое выпадающее меню в d3. Я знаю, что в Интернете есть много примеров, но я не мог найти пример, который выдает раскрывающееся меню ON CLICK вместо постоянного меню на экране. У меня есть простой график рассеяния, и когда я нажимаю на одну из точек, я хочу, чтобы появилось выпадающее меню. На данный момент у меня есть рабочий код, где на «mouseover» появляется всплывающая подсказка. К той же функции я хочу добавить раскрывающееся меню на клик. Вот соответствующий код до сих пор (за исключением выпадающее меню):d3.js выпадающее меню при нажатии
var g = svg.selectAll(".dot")
.data(data)
.enter()
.append("circle")
.attr("class", "dot")
.attr("r", 3.5)
.attr("cx", xMap)
.attr("cy", yMap)
.style("fill", function(d, i) { return color(cValue(d));})
.on("mouseover", function(d, i) {
tooltip.transition()
.duration(200)
.style("opacity", .9);
tooltip.html(d.TITLE)
.style("left", (d3.event.pageX + 5) + "px")
.style("top", (d3.event.pageY - 28) + "px");
})
Теперь я хочу, чтобы добавить выпадающее меню щелчком мыши. Мне удалось получить выпадающее меню на экране постоянно, добавив:
<select id = "opts">
<option value="ds1">data1</option>
<option value="ds2">data2</option>
<option value="ds3">data3</option>
<!-- and so on... -->
</select>
Но я только хочу, чтобы меню появится при нажатии на точку на графике. Я очень новичок в d3, поэтому любая обратная связь приветствуется! спасибо
жаль, что я гавань была в состоянии ответить. спасибо за ваши отзывы, я пробовал это, и ничто, кажется, не отображается на экране вообще? И если бы я мог использовать этот код, где бы я добавил свои параметры и как бы это сделать? извините за очень поздний ответ! оцените свою обратную связь –