Użyłem d3.js do narysowania niektórych okręgów na kontenerze SVG.d3.js - Jak ustawić kursor pod ręką po najechaniu myszką na te elementy w kontenerze SVG?
Udało mi się ustawić zachowanie kursora myszy w tych okręgach, aby wydrukować proste komunikaty konsoli. Widzę te komunikaty konsoli po najechaniu kursorem myszy (i po stronie myszy), więc wiem, że działają poprawnie.
Jednak zamiast drukować te komunikaty konsoli, chcę zmienić kursor na dłoń po najechaniu na nią myszką i chcę zmienić kursor z powrotem na normalną strzałkę, gdy wyjdę z myszy. Biorąc pod uwagę mój kod poniżej, jak mogę to zrobić?
po najechaniu myszą, wiem, że trzeba zmienić właściwość stylu cursor
do pointer
i po odsunięciu myszy, wiem, że trzeba go zmienić na default
ale nie wiem składnię jak mam to zrobić. Czy ktoś może mi to wyjaśnić? Poniżej znajduje się mój kod.
var myCircle = svgContainer.selectAll(".dots")
.data(myDataList).enter().append("circle")
.attr("class", "dots")
.attr("cx", function(d, i) {return d.centerX})
.attr("cy", function(d, i) {return d.centerY})
.attr("r", 5)
.attr("stroke-width", 0)
.attr("fill", function(d, i) {return "red"})
.style("display", "block");
myCircle.on({
"mouseover": function(d) {
console.log('Hello World!'); // What do I change this to?
},
"mouseout": function(d) {
console.log('Goodbye World!'); // What do I change this to?
}
}
);
Naprawdę nie musisz ustawiać stylu na mouseout. Powodem jest to, że jeśli kursor myszy znajduje się nad elementem, zostanie zastosowany styl kursora. W przeciwnym razie nie jest. Nie ma więc powodu, aby dynamicznie ustawiać styl w tym przypadku. Równie dobrze możesz ustawić styl podczas inicjalizacji. – Doughy
@ Doughy, co mówisz, jest prawdą. Napisałem odpowiedź specyficzną dla tego, o co prosi OP. Chciał wiedzieć, jak to zrobić za pomocą 'mouseover' i' mouseout'. – Cyril