How to remove the ClickHandler Event in GWT? I added addClickHandler() Event for a button and i want to remove the ClickHandler Event.I tried HandlerRegistration Method But it failed to remove the handler ,Here is a snippet :
notification.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
// TODO Auto-generated method stub
}
});
I want to remove the handler with notification !
Note:
Notification is the button instance that calls the handler!
Each add...Handler
method returns the HandlerRegistration
interface. This interface contains the removeHandler()
method. If you want to remove handlers, simple store the returned interface in a variable and call removeHandler when you want to remove the handler.
HandlerRegistration handler;
handler = button.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
// ...
}
});
handler.removeHandler();
This worked for me, I get the Handler registration when I bind the event,
closeIconHandlerRegistration = closeImg.addClickHandler( new ClickHandler()
{
@Override
public void onClick( ClickEvent event )
{
addCloseClickHanlder();
}
} );
After that When I need to remove the handler...
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 );
}
} );
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With