Вы получаете доступ к event.target.id
в вашем обработчике событий.Свойство target всегда указывает на узел, на котором было вызвано событие.В вашем случае это tspan
.Тем не менее, вам нужен текст.
svg.js
вызывает обработчик в контексте элемента, с которым он был связан.Таким образом, вы можете просто использовать this
, чтобы получить группу и выполнить поиск по текстовому элементу оттуда:
g.on("click", function (event) {
if (selectedelement!=null)
selectedelement.selectize(false, { deepSelect: true });
selectedelement = this.select('text').first().selectize({ deepSelect: true })
});
Тем не менее, лучшим способом было бы привязать событие click к тексту на первом месте, чтобывам не нужно проходить через дом
text.on("click", function (event) {
if (selectedelement!=null)
selectedelement.selectize(false, { deepSelect: true });
selectedelement = this.selectize({ deepSelect: true })
});