2012-05-03 59 views
0

我想要的是調用這個代碼 調用使用GWT的JavaScript函數裏面的方法JSNI

public native void eventClickHandler(String id) /*-{ 
    $wnd.jQuery('#' + id).bind('jqplotDataClick',function(ev, seriesIndex, pointIndex, data) { 
    [email protected]::onClick(Ljava/lang/String;Ljava/lang/String;)(seriesIndex, pointIndex); 
    }); 
}-*/; 

這裏的onClick方法是一個普通的Java方法和我使用GWT和JSNI接口這一點。 在此先感謝!

+0

那麼,什麼是你的問題? –

+0

它不工作抱歉,我想我忘了提及它。 –

+0

[GWT/JSNI這個可能的重複。不是用實例的引用替換](http://stackoverflow.com/questions/10406769/gwt-jsni-this-is-not-replace-with-a-reference-to-the-instance) –

回答

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) { 
    [email protected]::onClick(Ljava/lang/String;Ljava/lang/String;)(seriesIndex, pointIndex); 
    }); 
}-*/; 
+0

感謝您的答覆,但它似乎仍然無法正常工作,必須找到一種方法來引用jQuery函數內的方法。 –