处理Google图表表格的悬停事件

时间:2013-09-11 07:53:52

标签: javascript google-visualization

当鼠标悬停在Google图表表格中的某一行时,是否可以触发javascript方法?

我可以看到有一些例子可以为条形图做这个例子,但是我在桌子上尝试了相同的事件而没有任何事情发生。

有可能吗?

1 个答案:

答案 0 :(得分:2)

不,表格可视化不支持鼠标悬停事件。但是,您可以将常规javascript事件处理程序附加到表行。这是一个使用jQuery将鼠标悬停事件处理程序附加到表行的示例:

google.visualization.events.addListener(table, 'ready', function () {
    $('#table_div tr').mouseover(function (e) {
        // do something
    });
});

编辑:

如果您想从单元格中获取行/列信息,请执行以下操作:

// data is the DataTable
for (var i = 0; i < data.getNumberOfRows(); i++) {
    for (var j = 0; j < data.getNumberOfColumns(); j++) {
        data.setProperty(i, j, 'className', 'row_' + i + ' column_' + j);
    }
}

// create the event handler on the <td>'s
google.visualization.events.addListener(table, 'ready', function () {
    $('#table_div td').mouseover(function (e) {
        var row, column;
        var classNames = this.className;
        var match = classNames.match(/row_(\d)+/i);
        if (match.length > 1) {
            row = match[1];
        }
        match = classNames.match(/column_(\d)+/i);
        if (match.length > 1) {
            column = match[1];
        }

        if (row != null) {
            // then we have moused over a data row
        }
    });
});