SVG путь элемента, например:Как определить, какой сегмент пути svg щелкнут в javascript?
<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