下面的代码每次在第二个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);
}
}发布于 2013-01-21 16:40:06
模糊和焦点事件不适用于事件委托(live或delegate方法),因为它们不是冒泡事件。JQuery为此引入了特殊的事件focusout和focusin。但是GwtQuery还不支持它们。请打开一个问题there,它们将被执行
https://stackoverflow.com/questions/14427804
复制相似问题