2 votes

La modification du style de l'image entraîne-t-elle le déclenchement de l'événement LoadEvent ?

Pour autant que je sache, cette modification du style de l'image provoque le déclenchement du LoadEvent. Quelqu'un peut-il le confirmer ? Expliquer cela ? C'est GWT sur Firefox 3.

Image image = new Image("image_src_URL");

image.addLoadHandler(new LoadHandler() {
    @Override
    public void onLoad(LoadEvent event) {
        double ratio = 0.5;
        image.getElement().getStyle().setWidth(image.getWidth() * ratio, Style.Unit.PX);
        Window.alert("You are in onLoad");
    }
}

Ce code se trouve en fait dans la méthode onLoad, et je peux clairement voir qu'il est saisi deux fois. Des conseils ? Existe-t-il un autre moyen de redimensionner l'image sans déclencher l'événement ? image.setWidth() fait de même.

1voto

BobV Points 3788

Avez-vous besoin de la LoadHandler de tirer plus d'une fois ? Vous pourriez le désenregistrer :

new LoadHandler() {
  HandlerRegistration reg = image.addLoadHandler(this);

  @Override
  public void onLoad(LoadEvent evt) {
    reg.removeHandler();
    // Reset style
  }
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X