在鼠标悬停 d3js 上更改 SVG 文本的文本
Change text for an SVG text on mouseover d3js
您好,我想在鼠标悬停时更改 SVG 文本元素的文本。
我的代码如下所示:
svg.append("text").attr("x",x).attr("y",y).text(a+'C'+(b+1)).attr("fill","blue").attr('text-anchor',"middle").on("mouseover",function(d){
console.log("ho ho");
});
我可以看到正在打印的日志,但我无法更改 svg.append("text") 的文本
谁能给我一些提示?
我也把我的代码放在 jsfiddle http://jsfiddle.net/cma0h6zh/
从鼠标悬停处理程序内部,您 console.log("ho ho")
,d3 设置 this
关键字,使其指向接收事件的 DOM 节点,即 <text>
在你的情况下。
因此您可以用它做任何 DOM-ish 的事情,包括将它包装在 d3 选择中并在其上调用 d3 方法:
d3.select(this)
.attr('fill', 'red')
.text('X')
这是一个modified fiddle
您好,我想在鼠标悬停时更改 SVG 文本元素的文本。 我的代码如下所示:
svg.append("text").attr("x",x).attr("y",y).text(a+'C'+(b+1)).attr("fill","blue").attr('text-anchor',"middle").on("mouseover",function(d){
console.log("ho ho");
});
我可以看到正在打印的日志,但我无法更改 svg.append("text") 的文本 谁能给我一些提示?
我也把我的代码放在 jsfiddle http://jsfiddle.net/cma0h6zh/
从鼠标悬停处理程序内部,您 console.log("ho ho")
,d3 设置 this
关键字,使其指向接收事件的 DOM 节点,即 <text>
在你的情况下。
因此您可以用它做任何 DOM-ish 的事情,包括将它包装在 d3 选择中并在其上调用 d3 方法:
d3.select(this)
.attr('fill', 'red')
.text('X')
这是一个modified fiddle