GWT EventHandlers的触发顺序是否已知?
即。如果我有一个扩展ListBox并从构造函数中添加EventHandler的类,是否可以确定此Handler将在另一个Handler之前被调用,该Handler随后由周围的类添加?
同样,如果子类采用构造函数:
Subclass() {
super();
addChangeHandler(new ChangeHandler() {
// ...
});
}
但是超类具有相同的构造函数,该构造函数添加了ChangeHandler:
Superclass(){
addChangeHandler(new ChangeHandler() {
// ...
});
}
我们能否假定在调用超类的构造函数并在子类之前添加Handler时将触发它们的顺序?
非常感谢,这一直困扰着我。
克里斯。
触发确实按照添加处理程序的顺序进行。据我所知,这没有在Javadoc中记录,但是我深入研究了GWT代码和com.google.gwt.event.shared.HandlerManager.HandlerRegistry.fireEvent(GwtEvent,boolean)方法最终在事件发生时被调用被解雇。
在某些情况下,所有事件均以相反的顺序触发,但这似乎与主要小部件无关。如果您在com.google.gwt.event.shared.HandlerManager.HandlerManager(Object,boolean)上进行调用层次结构,则将看到谁调用了启用了反向触发的HandlerManager。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句