java如何在表中设置事件_如何在D3中的图表标签上触发onmouseover事件

我用D3制作了下面的图表:

360393f3888cbd16434473eacec34a2e.png

当图表悬停时,中间的空间显示信息 .

我有以下代码来处理事件:

var path=svg.selectAll('path')

.data(pie(get(this, 'data')))

.enter()

.append('path')

.attr({

d:arc,

fill:function(d,i){

return color(d.data.name);

}

})

.on("mouseover", function(d, i) {

self.setTooltip(d.data.icon, d.data.name, d.data.value);

})

.on("mouseout", function(d, i) {

self.clearTooltip();

});

我还使用以下代码在图表上生成Font Awesome图标:

var text=svg.selectAll('text.value-label')

.data(pie(get(this, 'data')))

.enter()

.append("text")

.transition()

.duration(200)

.attr("transform", function (d) {

return "translate(" + arc.centroid(d) + ")";

})

.attr("dy", ".5em")

.attr("text-anchor", "middle")

.attr('class', 'value-label')

.text(function(d){

return d.data.icon;

})

.style({

fill:'#fff',

'font-size':'1.5em',

'font-family': 'FontAwesome'

})

/* This isn't working

.on("mouseover", function(d, i) {

self.setTooltip(d.data.icon, d.data.name, d.data.value);

})

.on("mouseout", function(d, i) {

self.clearTooltip();

});

*/

目前,中间的“工具提示”/信息仅显示鼠标指针位于图表的彩色部分上方 . 如果指针位于文本(FontAwesome)标签上方,则工具提示将保持隐藏状态 .

当鼠标指针位于图表块边界内的任何位置(包括文本标签)时,如何显示工具提示?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值