删除单击处理程序GWT
如何删除GWT中的ClickHandler事件?我为按钮添加了addClickHandler()事件,并希望删除ClickHandler事件。我尝试了HandlerRegistration方法,但未能删除该处理程序,以下是一个片段:删除单击处理程序GWT,gwt,gwt2,Gwt,Gwt2,如何删除GWT中的ClickHandler事件?我为按钮添加了addClickHandler()事件,并希望删除ClickHandler事件。我尝试了HandlerRegistration方法,但未能删除该处理程序,以下是一个片段: notification.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { // T
notification.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
// TODO Auto-generated method stub
}
});
我想删除带有通知的处理程序
Note:
Notification is the button instance that calls the handler!
每个
add…Handler
方法返回HandlerRegistration
接口。此接口包含removeHandler()
方法。如果要删除处理程序,只需将返回的接口存储在变量中,并在要删除处理程序时调用removeHandler
HandlerRegistration handler;
handler = button.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
// ...
}
});
handler.removeHandler();
这对我很有效,我在绑定事件时获得了处理程序注册
closeIconHandlerRegistration = closeImg.addClickHandler( new ClickHandler()
{
@Override
public void onClick( ClickEvent event )
{
addCloseClickHanlder();
}
} );
之后,当我需要删除处理程序时
if ( this.getCloseButtonHandlerRegistration() != null )
{
this.getCloseButtonHandlerRegistration().removeHandler();
this.getCloseImg().addClickHandler( new ClickHandler()
{
@Override
public void onClick( ClickEvent event )
{
SaveCancelCommissionChangeEvent saveEvt = new SaveCancelCommissionChangeEvent();
saveEvt.setSave( false );
tabEventBus.fireEvent( saveEvt );
}
} );
}
您所说的
它失败
和删除带有通知的处理程序是什么意思?fails指的是HandlerEvent未被删除,我提到的通知是调用处理程序的按钮实例!我可以稍后删除处理程序对象吗?谢谢