私は次のことをしようとしています:
クラスによって示される、いくつかのリンクの特定のハンドラーを追加したいと考えています。
$("a.link_list").live("click", new ListLinkHandler());
そのような新しいリンクが生成されるため、.live()
代わりに必要です。.bind()
(私は jQuery.live()
が を支持して非推奨になっていることを知っ.on()
ていますが、gwt-query には.on()
まだありません。)
ハンドラーを次のように定義しました ( gwtquery の例と同じように):
public class ListLinkHandler extends Function {
@Override
public boolean f(Event e) { [...] }
}
ただし、リンクをクリックしてもハンドラ メソッドが呼び出されることはありません。Chrome Dev Tools でイベント リスナーを確認できます: http://screencloud.net/v/bV5V。body
ですのでオンになっていると思います.live()
。
使ってみたところ.bind()
、うまくいきました。body
イベント リスナーが変更され、a.link_list
ハンドラーが本来の機能を実行しますが、(文書化されているように、私はテストしませんでした) 新しく作成されたリンクに対してではありません。
メソッドのバグを報告しました.live()
が、何か間違っている可能性があります。
また、gwtquery なしでそれを行う方法がわかりません。GWT には、クラスごとに要素を選択する方法も、新しい要素にリスナーを継続的に追加する方法もないようです。