【发布时间】:2014-03-16 22:41:01
【问题描述】:
我使用 d3.js 生成一个 svg 圆圈,圆圈中间有一个文本徽标。 这是 svg 结果。
<g id="main">
<circle r="114" fill="#F0E8D0"></circle>
<text text-anchor="middle">The movie title</text>
</g>
这里是 d3.js
var circles = [{r: innerRadius}];
svg.append("g").attr("id","main");
svg.select("#main").selectAll("circle")
.data(circles).enter()
.append("circle")
.attr("r",function(d){return d.r})
.attr("fill","#F0E8D0");
svg.select("#main").append("text")
.attr("text-anchor", "middle")
.text(function(){ return "The movie title";});
我还想在鼠标悬停离开圆圈时触发一些动画。
svg.select("#main")
.on("mouseover",function(){
//code for transition
}).on("mouseout",function(){
//code for transition
})
所以问题是: 当鼠标移入圆圈时,动画会按预期触发,但是,当鼠标触摸文本元素时,会触发 mouseout 事件(鼠标离开圆圈),然后再次触发 mouseover 事件(鼠标进入文本元素),这不是可取的。
似乎当鼠标触摸到“
我不希望鼠标触摸文本元素时发生任何动画。我该怎么做?
【问题讨论】:
标签: javascript d3.js