2017-09-03 4 views
0

J'ai un bouton désactivé. Au survol de la souris de ce bouton désactivé, j'ai besoin d'afficher un popup en utilisant GWT. J'ai essayé de l'emballer à l'intérieur d'un panneau et j'ai codé le pointeur de la souris pour le panneau. Mais ça ne marche pas tout le temps.Déplacement de la souris sur le bouton désactivé

Répondre

0

IMO vous devriez essayer d'éviter cette situation. Par exemple, si vous voulez juste afficher une petite info-bulle, vous pouvez utiliser un titre différent pour l'état activé et désactivé expliquant la cause désactivée.

Si vous voulez toujours réagir à un événement over over sur le bouton de désactivation, vous pouvez utiliser quelque chose comme ceci.

SimplePanel p = new SimplePanel(); 
Button b = new Button("hover me to toggle disable"); p.add(b); 
p.addDomHandler(ev -> button.setEnabled(!b.isEnabled()), MouseOverEvent.getType()); 
RootPanel.get().add(p); 

Bien que, comme vous l'avez déjà remarqué, le navigateur ne déclenche pas les événements sur les entrées désactivées. Donc, si vous déplacez la souris sans passer par le panneau et allez directement sur le bouton, vous ne recevrez pas l'événement. Vous pouvez corriger cela en appliquant ce style.

button.gwt-Button[disabled] { 
    pointer-events: none; 
} 

Mais cela peut probablement avoir des inconvénients ou ne pas fonctionner dans tous les navigateurs.