1

次のコードは、2nd がクリックされるたびに新しい要素を追加しますdiv。追加するたびに、追加された要素にフォーカスが設定されるため、メソッドの準備が整います (この目的のためだけに属性をblur設定しています)。tabIndex

ただし、新しい要素の外側をクリックしても、ポップアップが表示されるはずですが、何も起こりません。このコードの何が問題なのか誰か教えてもらえますか?

    public void onModuleLoad() {
        VerticalPanel vert = new VerticalPanel(); 
        String foo = "<div id ='foo'>Foo</div>";
        $("#bodywrapper").append(foo);
        $("#bodywrapper").append("<div id ='boo'>Boo</div>");
        $("#boo").click(new Function() {
            public boolean f(Event e) {
//              Window.alert("foo");
                $("<div id ='goo' tabIndex = '1'>Boo</div>").appendTo("#bodywrapper").focus();
                return true;
            }
        });
        $("#goo").live("blur", new Function() {
            public boolean f(Event e) {
                Window.alert("Foo");
                return true;
            }
        });
        RootPanel.get().add(vert);

      }
}
4

1 に答える 1

2

ぼかしイベントとフォーカスイベントは、バブリングイベントではないため、イベント委任(ライブメソッドまたはデリゲートメソッド)では機能しません。JQueryは、この目的のために特別なイベントfocusoutとfocusinを導入します。しかし、GwtQueryはまだそれらをサポートしていません。そこで問題を開いてください、そうすればそれらは実行されます

于 2013-01-21T08:40:05.717 に答える