У меня возникают проблемы с обнаружением событий mouseover на элементах пути SVG. Похоже, что чем меньше ширина штриха для элемента пути, тем меньше у меня успеха при обнаружении мыши.SVG Path Hit-Testing
Кроме того, я использую плагин jquery-svg для рисования.
Ниже приведена скрипка поиска с использованием события jQuery mouseover на элементе пути. 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