Вы можете отключить захват событий клика в .shapes
div (который оказывается виновником) и захватывать события только от svg children:
.shapes {
pointer-events: none;
}
.shapes svg * {
pointer-events: painted;
}
Событие клика все еще пузыритсячерез <svg>
, и, таким образом, прослушиватель событий делегата по-прежнему работает без изменений.