gpt4 book ai didi

javascript - 如何获取鼠标当前指向的元素的属性

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:24:59 24 4
gpt4 key购买 nike

我正在使用 d3.js 并使用它创建了 svg,并在其上绘制了 map 和圆圈。在这些圆圈之上,我画了不可见的圆圈,这样我就可以在不可见的圆圈上悬停。现在,当我将鼠标悬停在它们上方时,我想通过调用一个事件函数来进行一些转换。在这个事件函数中,我想获取我悬停在其上的圆圈的属性。

这是HTML页面的结构

   table
tbody
tr
td
svg
rect (boundary of canvass)
g id=outerG
g
path
g
path
g
circle
g
circle
g id=invisibleCircle
g
circle cx,cy,r,text --> I will hover over this circle & access attributes
g
circle cx,cy,r,text

当我将鼠标悬停在不可见的圆上时,我正在那个特定的圆上进行转换,为此我需要访问那个不可见的圆的属性。

这是代码

        var radius=some logic to calculate radius

//Main circle d3.select("body").select("svg").select("#outerG").insert("g","#invisibleG").append("circle")
.attr("cx",coords[0])
.attr("cy",coords[1])
.attr("r",radius)
.attr("class","circle")
.attr("id",weekData[q].bob[p].city+"circle")
.style('fill', 'tan');

//Invisible circle d3.select("body").select("svg").select("#outerG").select("#invisibleG").append("g").append("circle")
.attr("cx",coords[0])
.attr("cy",coords[1])
.attr("r",radius)
.attr("class","inviCircle")
.attr("id",weekData[q].bob[p].city+"invisible")
.style('fill-opacity', '0')
.on("mouseover",function(){
var r=d3.select(this).attr("cx");
d3.select(this).style('fill','tan').style('fill-opacity', '1').transition()
.duration(1000)
.attr("r",r) ;
d3.select(this).attr("stroke","blue").attr("stroke-width",4);
})

.on("mouseout",function(){
// var r=d3.select(this).attr("cx");
d3.select(this).attr("stroke-width",0)
.style('fill-opacity','0')
.attr("r",radius);});

}

}

最佳答案

在事件处理程序中,this 引用当前元素。所以你可以执行 d3.select(this).attr(...) 来获取你想要的任何属性的值。

关于javascript - 如何获取鼠标当前指向的元素的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20635986/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com