Event when two SVG elements touch

前端 未结 2 1188
予麋鹿
予麋鹿 2020-12-17 18:01

Is it possible in SVG, using any method, to call an even if two specific elements touch? Or would I have to code the long way, and figure out if their borders touch with com

相关标签:
2条回答
  • 2020-12-17 18:19

    I don't think there are any built-in methods, but this guy wrote a Javascript library that detects collisions:

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

    Looks pretty slick. It doesn't work in Firefox 3.6, but works in Chrome.

    EDIT:

    OK, there actually is a built-in method, but I don't know if it can be applied to anything besides rectangles. Erik Dahlström, the author of that post, hangs out on Stackoverflow, so he might have something to say about this.

    0 讨论(0)
  • 2020-12-17 18:34

    There are actually four methods available on the outermost SVG element for intersection handling in the SVG 1.1 DOM:

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

    Unfortunately I think the cross-browser support for these methods is still not great.

    0 讨论(0)
提交回复
热议问题