0

Web アプリケーションには GWT 2.3.0 を使用しています。一部の機能で gwtquery の使用を開始しました。

gwtquery から js ファイル内で jquery 関数を呼び出すことができるかどうかを知りたいです。

4

1 に答える 1

0

gwtquery 別名 gQuery は、Java 用の jquery の完全に書き直された実装です。

gQuery の目標の 1 つは、jquery のほとんどの機能 (css セレクター、dom 操作、エフェクト、promise、ajax など) を備えながら、外部の jquery.js ライブラリをインポートする必要がなく、gwt のすべての利点 (最適化) を利用することです。 、パフォーマンス、デッド コードの削除など)。

その結果、gQuery と jQuery はプラグインを共有できないため、jquery-plugin を使用しているためにアプリで jquery.js を使用している場合でも、プロジェクトに jquery をインポートする必要があります。

要約すると、gwt で jquery の構文を使用したい場合は、java から外部 js メソッドを呼び出すのではなく、jquery をインポートする必要はありません。

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 では、純粋な jquery コードを統合するために gquery メソッドを公開する作業を行っています。この作業は、私たちがjsQueryと呼んだモジュールで行われています。主な目標は、デザイナーが外部の jquery.js をインポートすることなく、html または ui.xml に jquery コードを追加できること、および jquery を移植する迅速な方法になることです。 gquery へのプラグイン。

参考までに: gwtの補完としてgquery を使用する利点のいくつかをここに投稿しました。

于 2013-07-14T09:53:27.373 に答える