我有一张美国地图,其中绘制了一些特色城市。州和城市都有自己的点击事件。单击状态可放大状态并显示州内的更多城市。当点击一个城市时,它会绘制一个新城市并绘制一条通往新城市的路径,同时放大到这两个城市的视野。
在放大两个城市时,我希望能够点击地图上的任意位置重置它。希望能够在不删除和恢复所有现有点击事件的情况下执行此操作。
任何人都知道我可以通过它自己的点击事件在整个SVG上放置一个不可见的图层吗?
答案 0 :(得分:1)
添加涵盖整个地图的<rect>
元素。如果你使它填充=“无”它将是不可见的。单击<rect>
时,添加单击事件处理程序以执行重置功能。</ p>
然后,您可以操作pointer-events属性以使其捕获或不捕获事件。设置pointer-events =“all”将使其捕获事件,而pointer-events =“none”将使其通过事件。只需根据地图是否缩放来切换属性。