2
例如SVG路徑元件:如何檢測在JavaScript中點擊了哪一段svg路徑?
<path id="path1"
d="M 160 180 C 60 140 230 20 200 170 C 290 120 270 300 200 240 C 160 390 50 240 233 196"
stroke="#009900" stroke-width="4" fill="none"/>
它有4個SVG段(在人眼3個曲線段):
M 160 180
C 60 140 230 20 200 170
C 290 120 270 300 200 240
C 160 390 50 240 233 196
當點擊的路徑上時,得到x
和鼠標的y
位置,那麼如何檢測哪個曲線段被點擊?
function isInWhichSegment(pathElement,x,y){
//var segs = pathElement.pathSegList; //all segments
//
//return the index of which segment is clicked
//
}
您似乎已經拒絕呈現每個段作爲單獨的對象的明顯的解決方案。你能解釋爲什麼嗎? –
@squeamishossifrage該解決方案需要將單個路徑拆分爲多個路徑元素,並在處理DOM節點時帶來更多問題。我不希望創造新的元素。 – cuixiping