Chcę uzyskać współrzędne kliknięcia myszą na prostokątnym kształcie svg. Próbuję wydrukować współrzędne kliknięcia myszką na konsolę.Uzyskuj współrzędne kliknięcia myszą na svg przy użyciu d3
Mogę użyć pageX
i pageY
, aby uzyskać współrzędne, ale dotyczy to całej strony. Potrzebuję tylko współrzędnych wewnątrz svg.
Używam d3.v3.min.js
Tak próbowałem:
$(document).mousedown(function() {
console.log(d3.mouse(this));
});
pojawia się błąd:
Uncaught TypeError: Cannot read property 'sourceEvent' of null
ja też próbowałem:
$(document).mousedown(function() {
console.log(d3.mouse(document.getElementById("svg_id")));
});
otrzymuję ten sam błąd.
Kiedy próbuję z d3.svg.mouse(this)
, otrzymuję błąd:
Uncaught TypeError: undefined is not a function
Jak mogę uzyskać współrzędne kliknięcia w SVG i dlaczego są te d3.mouse()
funkcje nie działa?
Zastanawiasz się, czy to może pomóc .. http://stackoverflow.com/questions/16770763/mouse-position-in-d3 – Ian
dzięki, ale próbuje te przykłady ja wciąż się błąd zerowy sourceEvent. – brno792
Nie znam dobrze d3, ale szybkie spojrzenie na dokumenty sugeruje, że parametr powinien być kontenerem (jak element svg lub g). Nie mam pojęcia, co to jest "kształt", ale możesz to sprawdzić. W przeciwnym razie może wyskoczyć skrzypce. – Ian