我們使用GWT 2.3.0來開發我們的Web應用程序。 我們已經開始爲我們的一些功能使用gwtquery。GwtQuery - 從外部js文件調用函數
我想知道是否有可能在gwtquery的js文件中調用jquery函數。
我們使用GWT 2.3.0來開發我們的Web應用程序。 我們已經開始爲我們的一些功能使用gwtquery。GwtQuery - 從外部js文件調用函數
我想知道是否有可能在gwtquery的js文件中調用jquery函數。
gwtquery aka gQuery是一個完全重寫的java實現的jquery。 gQuery的目標之一是擁有jQuery(css選擇器,dom操作,效果,promise,ajax等等)的絕大部分功能,但不必導入外部jquery.js庫,從中受益gwt(優化,性能,死代碼刪除等)。
因此,gQuery和jQuery不能共享插件,所以如果您在應用程序中使用jquery.js,因爲您使用的是jquery插件,那麼您仍然必須在項目中導入jquery。總之,如果你想使用jquery的語法,但是在gwt中,你不需要導入jquery而不是從java調用外部js方法。
import static com.google.gwt.query.client.GQuery.*;
public void onModuleLoad() {
//add a click handler on the button
$("button").click(new Function(){
public void f() {
//display the text with effects and animate its background color
$("#text").as(Effects)
.clipDown()
.animate("backgroundColor: 'yellow'", 500)
.delay(1000)
.animate("backgroundColor: '#fff'", 1500);
}
});
}
否則,如果你不使用gqueyr和要導入的jQuery在你的頁面,以呼叫從GWT一些方法,你必須寫JSNI方法:
native void enhanceMyButton() /*-{
$("button").click(function() {
//display the text with effects and animate its background color
$("#text").as(Effects)
.clipDown()
.animate("backgroundColor: 'yellow'", 500)
.delay(1000)
.animate("backgroundColor: '#fff'", 1500);
});
}-*/;
最後,在gwtquery,我們正在努力揭示gquery方法來集成純粹的jQuery代碼。這項工作是在我們稱爲jsQuery的模塊上完成的,主要目標是:設計人員可以在html或ui.xml中添加jquery代碼,而無需導入外部jquery.js,它可以是一種快速移植jQuery插件gquery。
FYI:我在這裏發佈了一些benefits of using gquery作爲gwt的補充