SVG:获取点击的元素

Posted

技术标签:

【中文标题】SVG:获取点击的元素【英文标题】:SVG: Get clicked element 【发布时间】:2022-01-07 18:49:53 【问题描述】:

如何获取 SVG 中点击的特定元素?

    this.svgEl = document.createElementNS('http://www.w3.org/2000/svg', 'svg');        
    var s = Snap(this.svgEl);        
    var svgFromApi = (new DOMParser()).parseFromString("svg image from API", "image/svg+xml");
    s.clear();
    s.append(svgFromApi.documentElement);
    this.divElementRef.nativeElement.appendChild(this.svgEl); 

    this.svgElement.onclick = ()=>                
           //Need to get on which element inside SVG it was clicked.   
       

【问题讨论】:

【参考方案1】:

试试这个

this.svgEl.onclick = (event) =>                
   // event.target should contain the element that was clicked on

【讨论】:

有什么方法可以检查 event.target 的类型吗?是图片还是文字? event.target.nodeName

以上是关于SVG:获取点击的元素的主要内容,如果未能解决你的问题,请参考以下文章

javascript如何获取点击元素的值

SVG中如何获取元素的坐标?

如何获取 svg:g 元素的宽度

SVG:获取元素相对于页面的位置

如何获取 svg 元素的坐标?

使用 XPath 获取 SVG 中的元素