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 пока не поддерживает их. Пожалуйста, откройте вопрос там, и они будут реализованы