我在GWT HighCharts圖表上的導出按鈕中遇到了將GWT方法掛鉤到menuitem的onclick方法的問題。Http GWT方法導出GWT HighCharts中的按鈕menuitem
我已成功將自定義菜單項添加到導出按鈕,但不知道設置onclick方法的語法。我已經試過:
setOption("onclick", "window.alert('Test')");
和
setOption("onclick", "function() { window.alert('Test') }");
,但我得到了以下錯誤:
Uncaught JavaScript exception [TypeError: a.onclick.apply is not a function]...
因此,它正試圖調用任何林在onclick串推杆,但顯然這不是我正在使用的正確語法。我一直在考慮JSNI,但我不完全確定我會如何去做並做到這一點。誰能幫忙?
編輯:
顯然,在上面的例子中,我試着去展現一個JavaScript警告,但我想如果可能的話調用GWT實例方法。 (靜態方法也可以)。
編輯2:
這是我在導出按鈕菜單項的代碼:
private class ExportButtonMenuItem extends Configurable<ExportButtonMenuItem> {
public ExportButtonMenuItem(String name, String type) {
setOption("text", name);
if (type.equalsIgnoreCase(EXPORT_EXCEL)) {
// setOption("onclick", "window.alert('Test')");
// does not work!
setOption("onclick", new Command() {
@Override
public void execute() {
GWT.log("export!!!");
}
});
}
}
}
,這是菜單項(S)是如何被添加到圖表:
chart.setOption("/exporting/buttons/exportButton/menuItems",
new ExportButtonMenuItem[] {
new ExportButtonMenuItem("Download PNG", ExportButtonMenuItem.EXPORT_PNG),
new ExportButtonMenuItem("Download JPEG", ExportButtonMenuItem.EXPORT_JPEG),
new ExportButtonMenuItem("Download PDF", ExportButtonMenuItem.EXPORT_PDF),
new ExportButtonMenuItem("Download SVG", ExportButtonMenuItem.EXPORT_SVG),
new ExportButtonMenuItem("Download Excel", ExportButtonMenuItem.EXPORT_EXCEL)});
EDIT 3:
在HighCharts JS源(exporting.js),對於菜單項的onclick方法的調用是這樣的:
div[hasTouch ? 'ontouchstart' : 'onclick'] = function() {
hide();
item.onclick.apply(chart, arguments);
};
當應用被啓動時,我得到這個錯誤:
[java] Uncaught JavaScript exception [TypeError: item.onclick.apply is not a function] in http://127.0.0.1:8888/js/modules/exporting.src.js, line 467
我有一直試圖重寫的onclick功能,但仍然沒有成功...
它似乎並不該HighCharts API與此接口兼容。我試過使用它,但現在我得到一個javascript異常,說onclick方法沒有定義。我已將我的代碼添加到原始帖子中... – 2013-02-25 09:10:13