0

私が欲しいのはこのコードを呼ぶことです

public native void eventClickHandler( String id) /*-{
  $wnd.jQuery('#' + id).bind('jqplotDataClick',function(ev, seriesIndex, pointIndex, data) {
    this.@it.codegen.gwt.jqplot.client.charts.JQChart::onClick(Ljava/lang/String;Ljava/lang/String;)(seriesIndex, pointIndex);
  });
}-*/;

ここで、onClickメソッドは通常のJavaメソッドであり、これにはGWTおよびJSNIインターフェースを使用しています。前もって感謝します!..

4

1 に答える 1

1

以前にjQueryを使用したことがありますか?thisjQueryに渡される関数内で特別な意味があります。JSNIでも、Javaファイル内にある間は、Javaのようには動作しませんがthis、JavaScriptのように動作しますthis

代わりにこれを試してください:

public native void eventClickHandler( String id) /*-{
  var origThis = this;
  $wnd.jQuery('#' + id).bind('jqplotDataClick',function(ev, seriesIndex, pointIndex, data) {
    origThis.@it.codegen.gwt.jqplot.client.charts.JQChart::onClick(Ljava/lang/String;Ljava/lang/String;)(seriesIndex, pointIndex);
  });
}-*/;
于 2012-05-03T16:33:18.577 に答える