Question

J'ai une application web GWT Lieux / Activités. J'utilise l'événement Anchor de click pour déplacer l'utilisateur dans un nouveau « lieu », donc il n'y a aucun utilisateur moyen peut ouvrir un « lien » dans une nouvelle fenêtre ou onglet. La question est - comment puis-je faire tous ces liens réel

Était-ce utile?

La solution

Peut-être au lieu d'utiliser Anchor et écouter l'utilisation de ClickEvent Hyperlink avec le jeu de targetHistoryToken au nom de localité.

par exemple.

<g:Hyperlink text="Home" targetHistoryToken="home" />

Autres conseils

Lors de l'utilisation d'un Hyperlink (ou InlineHyperlink) fonctionne, je préfère utiliser un ClickHandler sur un Anchor, parce que si les retours d'activité une valeur non nulle dans mayStop l'URL n'aurait pas encore changé (alors qu'avec un Hyperlink, il aurait, même si les choisit utilisateur pour annuler la navigation).

pour définir la cible (href) sur la Anchor, utilisez simplement votre PlaceHistoryMapper. Et pour gérer correctement les touches Ctrl + clic, clic milieu et droit de la souris, réutiliser le HyperlinkImpl:

Anchor anchor = new Anchor("text", "#" + placeHistoryMapper.getToken(targetPlace));
anchor.addClickHandler(new ClickHandler() {
   private static final HyperlinkImpl IMPL = GWT.create(HyperlinkImpl.class);

   @Override
   public void onClick(ClickEvent event) {
      if (IMPL.handleAsClick(event)) {
         placeController.goTo(targetPlace);
         event.preventDefault();
      }
   }
});
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top