![](/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.