事件+ jshint上的d3.js可能严格违反

时间:2015-09-09 19:52:18

标签: javascript d3.js jshint

我有一个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

1 个答案:

答案 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');
};