Я пытаюсь обнаружить перекрытие различных элементов SVG на событиях mouseup, как показано в этом fiddle, используя только прямоугольные фигуры.Обнаружение множественных перекрывающихся элементов формы SVG на событиях мыши
$('svg').on('mouseup', function(evt) {
var root = $('svg')[0];
var rpos = root.createSVGRect();
rpos.x = evt.clientX;
rpos.y = evt.clientY;
rpos.width = rpos.height = 1;
var list = root.getIntersectionList(rpos, null);
for (var i = 0; i < list.length; i++) {
if (list[i] != evt.target) {
$(list[i]).mouseup();
}
}
});
Я хочу, чтобы иметь возможность обнаружить перекрытие на MouseUp между прямоугольником, кругом, а также многоугольников фигуры, как в этом fiddle я пытался с помощью но getIntersectionList() только кажется, работает только для прямоугольных форм ,
Другим способом, по-видимому, является получение корневых SVG-координат на mouseup и проверка соответствия любой из координат внутри элементов SVG.
Есть ли лучший способ для меня обнаружить пересечения нескольких элементов SVG-элементов на мыши?
Когда вы говорите о пересечениях, действительно ли вы имеете в виду, какие элементы находятся под курсором? – Ian
@Ian, Да. Чтобы получить список элементов под курсором. –