Ich habe den folgenden Code in einem D3
Projekt:auf Click-Ereignisse scheinbar nicht über das ganze Element
function addSquare() {
//Create SVG element
var SQsvg = d3.select("#square")
.append("svg")
.attr({
"width": 70,
"height": 20,
id: "squaresArea"
})
.on("click", resetRefresh);
SQsvg.append("text")
.text("Refresh")
.attr({
x: 15, //margin.left,
y: 15,
"font-family": "sans-serif",
"font-size": "14px",
"text-decoration": "underline",
fill: "blue"
})
.on("click", resetRefresh);
function resetRefresh() {
console.log("hello")
//update bar chart when user selects a square
dsPieChart(initialMeasure, pieDataCSV);
TOPbarChartUpdate("N", initialMeasure, "lightgrey",false);
}
}
Wenn ich meine Cursor auf den Text Aktualisieren Sie die Interaktivität zu bewegen scheint nicht das ganze Wort zu überspannen - warum ist das? und wie ändere ich das oben genannte so, dass der gesamte Text das Ereignis auslöst?
Ein anschauliches Beispiel des gesamten Projekts ist hier: http://plnkr.co/edit/w9lBwZhoHqQbmNUjihQv?p=preview
Dies war nur um herauszufinden, was das Problem war. Ich würde die Reihenfolge ändern, in der Sie das Kreisdiagramm und die Aktualisierungsschaltfläche an das SVG anfügen. – thatOneGuy
ok - momentan ist die Refresh-Schaltfläche in einem separaten div - muss sie vielleicht in die obere rechte Ecke des divs verschoben werden, das vom Kuchen verwendet wird? – whytheq
hängt davon ab, ob es in SVG sein soll. Ich empfehle nur eine einfache HTML-Taste dafür, das ist der einfachste Weg. – thatOneGuy