Страницы

Поиск по вопросам

вторник, 14 мая 2019 г.

Как ловить mouse events для группы SVG форм, как единого целого?

Разбираюсь с Raphael и SVG. Есть графический объект, состоящий из нескольких: напр., окружность и внутри неё квадрат поменьше. Как ловить мышиные события для этой пары, будто она одно целое? Пробовал: вешать onmouseover на бОльший (окружность): когда курсор заходит на квадрат, происходит onmouseout окружности; Встречал «решение» рисовать поверх группы почти прозрачную форму, покрывающую всю активную область, и вешать слушателя на неё. Как-то «неаккуратненько».. делать из них set, и цеплять Raphael'овский mouseover( handler) на этот сет: срабатывает для каждого из объектов сета.


Ответ

Предлагаю такой вариант - отлавливать mouseenter и mouseleave для группы элементов (). Raphael в "базовой поставке" это не поддерживает (set не является группой), но есть расширения которые позволяют добавить в него возможность работы с группами, вот например это https://github.com/rhyolight/Raphael-Plugins А дальше просто - берём группу и вешаем на неё mouseenter - mouseleave. Вот что-то типа этого

Комментариев нет:

Отправить комментарий