![](/img/trans.png)
[英]How do I use the onmouseover function to highlight a portion of an SVG image?
[英]How do I use javascript onmouseover function with svg to get classname?
我有一个SVG地图,当将鼠标悬停在地图的某个区域时,我想在其中更改侧面板上的文本。 我想将文本更改为包含鼠标悬停区域的锚的类名。 当前,每当我将鼠标悬停在地图上时,它都会在侧面板中返回undefined。
我尝试将代码设置为仅在类名不等于nil的情况下才起作用,并且该函数没有触发,因此我一定不能在鼠标悬停时获得定位标记。
HTML(已删除的无关代码)
<p onmouseover="houseQuickOverview()">
<svg ... >
<g id="G_Areas" ... >
<a class="HD-002" ... >
<path gg:cat="2" d="M ... />
</a>
<a class="HD-003" ... >
<path gg:cat="2" d="M ... />
</a>
的JavaScript
let houseQuickOverview = function () {
let district = this.className;
document.querySelector(".districtNumber").innerHTML = district;
}
当我将鼠标悬停在包含SVG的段落上时,当鼠标触摸锚点之一时,我希望它将锚点的类名返回给districtNumber div。 当前,它仅将undefined返回div。
请尝试以下操作,在特定情况下,您可能需要缩小els这样的范围
const anchor = document.querySelectorAll("pa"); // to select only <a> under <p>
(function() { const anchor = document.querySelectorAll("a") for (const a of anchor) { a.addEventListener('mouseover', function(event) { document.getElementById('result').innerHTML = event.currentTarget.className; }) } })();
#result { color: red; } a { display: block; margin: 1em; }
<a class="HD-002"> 123 </a> <a class="HD-0022"> 456 </a> <a class="HD-0023"> 789 </a> <a class="HD-0024"> 101112 </a> <div id="result"></div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.