0

我正在为 Highcharts 使用 MoxieGroup 的 GWT 包装器。我怎样才能做到这一点,以便在图表上的任何位置单击都会触发事件。认为这可能是正确的起点

chart.addDomHandler(new ClickHandler() {

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

}
}, ClickEvent.getType());
4

1 回答 1

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;
        }
    })
);

在它们两者之间,您应该能够捕获图表上的大部分点击事件。

于 2013-05-09T03:46:56.483 回答