GWTQuery Live Blur не работает

Следующий код присоединяет новый элемент при каждом последующем нажатии на 2-й 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);

      }
}

1 ответ

Решение

События размытия и фокуса не работают с делегированием событий (живыми методами или методами делегирования), потому что они не являются пузырьковыми событиями. JQuery вводит специальные события focusout и focusin для этой цели. Но GwtQuery пока не поддерживает их. Пожалуйста, откройте вопрос там, и они будут реализованы

Другие вопросы по тегам