Событие, когда два SVG-элемента соприкасаются - PullRequest
11 голосов
/ 22 марта 2011

Можно ли в SVG, используя какой-либо метод, вызвать даже если два конкретных элемента соприкасаются?Или я должен был бы написать длинный путь и выяснить, касаются ли их границы сложной математики?

Ответы [ 2 ]

13 голосов
/ 23 марта 2011

На самом внешнем элементе SVG доступно четыре метода для обработки пересечений в DOM SVG 1.1:

  1. getIntersectionList
  2. getEnclosureList
  3. checkIntersection
  4. checkEnclosure

К сожалению, я думаю, что кросс-браузерная поддержка этих методов все еще невелика.

2 голосов
/ 22 марта 2011

Я не думаю, что есть какие-либо встроенные методы, но этот парень написал библиотеку Javascript, которая обнаруживает столкновения:

http://www.kevlindev.com/geometry/2D/intersections/index.htm

Выглядит довольно гладко.Он не работает в Firefox 3.6, но работает в Chrome.

РЕДАКТИРОВАТЬ:

ОК, на самом деле является встроенным методом , но я не знаю, можно ли это применить к чему-либо, кроме прямоугольников.Эрик Дальстрём, автор этого поста, зависает в Stackoverflow, поэтому ему может быть что сказать по этому поводу.

...