我有一个on SQL Results window
事件处理程序绑定到条形图rect svg对象。
mouseover
我调用 svg.selectAll('.bar')
.data(data)
.enter()
.append('rect')
.on('mouseover', mouseover)
.on('mouseout', mouseout)
.attr('class', 'bar')
.attr('x', 0)
.attr('y', function(d) { return y(d[keyName]); })
.attr('height', y.rangeBand())
.attr('width', function(d) { return x(d[valueName]); })
.attr('val', function(d) { return d[valueName]; });
函数获取用户悬停的rect对象并提取一些值以及设置填充样式。一切都按预期工作,但是当我运行jshint时,它警告我使用mouseover
时可能存在“严重违规”。如何让这个lint案例通过D3?
this
答案 0 :(得分:1)
使用函数表达式而不是像
这样的声明var mouseover = function () {
var val = d3.select(this).attr('val');
div.transition()
.duration(200)
.style('opacity', 0.9);
div.html(val + ' Servers')
.style('left', (d3.event.pageX + 20) + 'px')
.style('top', (d3.event.pageY - 20) + 'px');
d3.select(this).style('fill', 'brown');
};