从 GWT 调用注入 java 脚本的函数
Call injected java script's function from GWT
我有 GWT 应用程序、html 文件和 javascript 文件。在 GWT 应用程序中,我在 GWT HTML 面板中加载 html 文件,然后在其上注入 javasript。我在 javasript 文件中定义了几个功能,如 "submit"、"cancel" 等。我在 GWT 客户端页面中也有相应的按钮。现在,当我点击 gwt 客户端页面上的提交按钮时,它应该调用 javascript 文件的 "submit" 函数。
来自 javascript 文件的代码:
$('#submitButton').click( function () {
alert('submit clicked');
dosomething();
}
});
我已经尝试从 GWT 客户端页面使用 JSNI,如下所示。
public native JavaScriptObject submitForm()/*-{
return $doc.submitButton(); // tried with $wnd.submitButton() as well.
}-*/;
但它不起作用并抛出以下错误
com.google.gwt.event.shared.UmbrellaException: Exception caught: (TypeError) $doc.submitButton is not a function
错误似乎很明显 - 您正在调用 submitButton
,这不是一个函数(它可能是 undefined
,除非您除了显示的代码之外还做了其他事情)。您可能应该这样做:$wnd.jQuery('#submitButton').click()
.
我有 GWT 应用程序、html 文件和 javascript 文件。在 GWT 应用程序中,我在 GWT HTML 面板中加载 html 文件,然后在其上注入 javasript。我在 javasript 文件中定义了几个功能,如 "submit"、"cancel" 等。我在 GWT 客户端页面中也有相应的按钮。现在,当我点击 gwt 客户端页面上的提交按钮时,它应该调用 javascript 文件的 "submit" 函数。
来自 javascript 文件的代码:
$('#submitButton').click( function () {
alert('submit clicked');
dosomething();
}
});
我已经尝试从 GWT 客户端页面使用 JSNI,如下所示。
public native JavaScriptObject submitForm()/*-{
return $doc.submitButton(); // tried with $wnd.submitButton() as well.
}-*/;
但它不起作用并抛出以下错误
com.google.gwt.event.shared.UmbrellaException: Exception caught: (TypeError) $doc.submitButton is not a function
错误似乎很明显 - 您正在调用 submitButton
,这不是一个函数(它可能是 undefined
,除非您除了显示的代码之外还做了其他事情)。您可能应该这样做:$wnd.jQuery('#submitButton').click()
.