我在檢測SVG路徑元素上的鼠標懸停事件時遇到問題。似乎路徑元素的strokeWidth越小,我在檢測鼠標懸停時的成功就越少。SVG路徑命中測試
此外,我使用jquery-svg插件來執行繪圖。
下面是嘗試檢測路徑元素上使用jQuery的鼠標懸停事件的小提琴。 Mouseover Fiddle
下面是一個嘗試通過將mousemove監聽器附加到svg來檢測,然後使用document.getElementFromPoint進行檢測的小竅門。 getElementFromPoint Fiddle
這些似乎都無法可靠地工作,特別是如果鼠標移動得很快。是否有可能使這些更敏感的更好地檢測鼠標懸停?或者更好的做法呢?
http://www.w3.org/TR/SVG11/struct.html#__svg__SVGSVGElement__getIntersectionList是一個SVG DOM API,用於獲取與給定矩形相交的所有元素(在本例中爲鼠標移動線)。 –
沒錯,但有兩個問題:檢查兩點之間的整個矩形,而不僅僅是線條,但這並不壞;另一個是[它尚未在Firefox中實現](https://bugzilla.mozilla.org/show_bug.cgi?id=501421) –
後者是我最感興趣的,我剛剛使用@Eriks建議測試了我的解決方案,並且它在Firefox – mikew