Я хочу отобразить оверлей (html div), когда пользователь нажимает на элемент в диаграмме SVG. Чтобы визуализировать проблему, которую я имею, предположим, что изображение SVG имеет горизонтальную строку из 6 элементов. В событии click я получаю координаты элемента и использую их для отображения наложения рядом с ним. Проблема в том, что при щелчке элементов слева направо я замечаю, что горизонтальное смещение между элементом и наложением продолжает уменьшаться. То есть, 6-й элемент отображает наложение намного ближе к нему, чем первый элемент. Это происходит как в Chrome, так и в FF, и это проблема, потому что когда-то обложка покрывает сам элемент.
Сначала я использовал свойство JQuery position(), которое не проявляло поведения, описанного выше, но оно возвращало очень разные значения в Chrome и Firefox, плюс официально не поддерживается JQuery на элементах svg. Поэтому я попробовал с DOM standard offsetLeft и offsetTop, а также свойство svg x.animVal.value и различные библиотеки, которые я нашел в Интернете, но все они имеют одинаковую проблему с ошибочным смещением. Я предполагаю, что это происходит потому, что изображение svg масштабируется, поэтому я ищу способ, чтобы просто получить позицию элемента svg относительно фактического html-документа, который содержит его. Есть ли способ сделать это?