我有一個div中有很多SVG對象。如何在SVG對象上移動時接收當前的鼠標位置?
<div id="outerDiv">
<div id="widget1">
<object type="image/svg+xml" data="my.svg"></object>
</div>
<div id="widget2">
<object type="image/svg+xml" data="my.svg"></object>
</div>
<div id="widget3">
<object type="image/svg+xml" data="my.svg"></object>
</div>
...
</div>
我怎樣才能收到當前mouseposition,當光標在這些SVG對象的一個?
旁註:沒有extern libs像D3,Snap ...只允許使用jQuery。
這沒有用,因爲當我移過SVG對象時,我沒有收到任何mousemove事件。
var mousemoveHandler = function (event) {
event.preventDefault();
console.log("doc.mousemove: " + event.pageX + " " + event.pageY);
};
$(document).on("mousemove", mousemoveHandler);
此外,SVG元素(例如不可見的g元素)上的mousemove處理程序僅返回相對鼠標位置。
編輯: svg對象沒有任何事件處理程序可能會停止事件傳播。
event.clientX; event.clientY? –
問題是,當我移過SVG時,我沒有收到任何事件...所以clientX和clientY也不會工作。 – Frank
如果您想要在外部處理鼠標(即在父文檔中),請將SVG設置爲圖像。否則,在SVG文檔本身內處理鼠標。 –