向图表添加处理程序,以便在单击图表上的任何像素时触发

时间:2013-05-08 18:08:59

标签: gwt highcharts gwt-highcharts

我正在使用MoxieGroup for Highcharts的GWT包装器。我怎样才能使图表上任何地方的任何点击都能触发事件。认为这可能是正确的起点

chart.addDomHandler(new ClickHandler() {

@Override
public void onClick(ClickEvent event) 
{
    Window.alert("Clicked");

}
}, ClickEvent.getType());

1 个答案:

答案 0 :(得分:0)

似乎highcharts在通过它传递事件时遇到了一些麻烦,无论是设计还是与SVG发生冲突。这就是说MoxieGroup有几种方法可以帮助你。

这是您应该使用点击处理程序添加到图表的背景的方法。单击系列或系列附近不会触发此处理程序。

chart.setClickEventHandler(new ChartClickEventHandler() {

    @Override
    public boolean onClick(ChartClickEvent chartClickEvent) {
        GWT.log("chart click"+chartClickEvent.getClientX());
        return false;
    }
});

以下处理程序将允许您在单击系列时捕获单击事件。

chart.setSeriesPlotOptions(new SeriesPlotOptions()
    .setSeriesClickEventHandler(new SeriesClickEventHandler() {
        public boolean onClick(SeriesClickEvent clickEvent) {
            GWT.log("series click");
            return true;
        }
    })
);

在他们两个之间,您应该能够捕获图表上的大多数点击事件。