我正在为 Highcharts 使用 MoxieGroup 的 GWT 包装器。我怎样才能做到这一点,以便在图表上的任何位置单击都会触发事件。认为这可能是正确的起点
chart.addDomHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event)
{
Window.alert("Clicked");
}
}, ClickEvent.getType());
我正在为 Highcharts 使用 MoxieGroup 的 GWT 包装器。我怎样才能做到这一点,以便在图表上的任何位置单击都会触发事件。认为这可能是正确的起点
chart.addDomHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event)
{
Window.alert("Clicked");
}
}, ClickEvent.getType());
似乎 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;
}
})
);
在它们两者之间,您应该能够捕获图表上的大部分点击事件。