从GWT调用注入的java脚本函数

时间:2015-01-24 18:34:27

标签: java javascript jquery gwt javascript-injection

我有GWT应用程序,html文件和javascript文件。在GWT应用程序中,我在GWT HTML Panel中加载html文件,然后在其上注入javasript。我已经定义了几个功能,如"提交","取消"等...在javasript文件中。我也在GWT客户端页面中有相应的按钮。现在,当我点击gwt客户端页面上的提交按钮时,它应该调用"提交" javascript文件的功能。

来自javascript文件的代码:

$('#submitButton').click( function () {
      alert('submit clicked');
      dosomething();
    }
  });

我尝试过使用GWN客户端页面中的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

1 个答案:

答案 0 :(得分:1)

错误似乎非常清楚 - 您正在调用submitButton这不是一个函数(它可能是undefined,除非您在显示的代码之外做了其他事情)。您可能应该执行以下操作:$wnd.jQuery('#submitButton').click()