У меня есть группа узлов svg, к которым подключен прослушиватель событий click
. Я также назначить nodeId
, чтобы однозначно идентифицировать свои различные узлыЗапуск события Click на элементе SVG
var nodeId = 0;
nodeGroup.append("svg:circle")
.attr("r", 7)
.style("fill", "blue")
.style("stroke", "orange")
.attr("data-node-id", function(d,i) {
return nodeId += 1;
})
.on('click', nodeInfo);
По щелчку, узел запускает функцию для отображения объекта Node
var nodeInfo = function displayNodeInfo(node){
console.log(node);
}
То, что я пытаюсь сделать, это вызвать эту displayNodeInfo()
функцию нажмите кнопку отдельно от группы svg. Функция должна отображать либо предыдущий, либо следующий узел в зависимости от того, что было нажато. Я считаю, что nodeId
пригодится здесь.
<button id="next-node" />
<button id="previous-node" />
$("#next-node").on("click", function(e){
displayNodeInfo() //Not sure how to pass the next node here
)};
Я довольно новый для D3 и до сих пор выяснить свои собственные методы, так что я просто интересно, если кто имел подобную задачу. Большое спасибо!
а что такое 'nodeGroup'? – Anthony
@ Энтони просто группа элементов 'svg: g' –
@ KuraiBankusu - это svg: круги, управляемые данными? –