我想要的是调用此代码
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接口。 在此先感谢!..
答案 0 :(得分:1)
您以前使用过jQuery吗? this
在传递给jQuery的函数中具有特殊含义。即使在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);
});
}-*/;