Bonjour
Je suis confronté à un bug sur IE8 que je n'arrive pas à résoudre de façon simple. J'ai un label dans un panel, je veux au doubleclic sur cet élément changer le contenu de la page :
- sur firefox, ie6 (he oui...) tout ba bien
- sur ie8, je me retrouve avec tout le nouveau contenu du panel sélectionné
Exemple de code :
Pour l'instant la seule solution que j'ai trouvé est de mettre mon label dans un VerticalPanel, puis d'ajouter le nouveau contenu avant d'enlever l'ancien...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 public class PageTest extends Composite { SimplePanel sp = new SimplePanel(); Label lbl = new Label("label"); DoubleClickHandler dch = new DoubleClickHandler() { @Override public void onDoubleClick(DoubleClickEvent event) { sp.remove(lbl); Grid gd = new Grid(20, 20); for (int i = 0 ; i < 20 ; i++) for (int j = 0 ; j < 20 ; j ++) gd.setText(i, j, "dest"+i+"-"+j); sp.setWidget(gd); } }; public PageTest() { lbl.addDoubleClickHandler(dch); sp.add(lbl); initWidget(sp); } }
Connaissez vous ce bug? Un moyen de le résoudre? Peut on interdir la sélection de l'élément d'origine/forcer la déselection par exemple?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 public class PageTest extends Composite { VerticalPanel vertPanel = new VerticalPanel(); Label lbl = new Label("label"); DoubleClickHandler dch = new DoubleClickHandler() { @Override public void onDoubleClick(DoubleClickEvent event) { Grid gd = new Grid(20, 20); for (int i = 0 ; i < 20 ; i++) for (int j = 0 ; j < 20 ; j ++) gd.setText(i, j, "dest"+i+"-"+j); vertPanel.add(gd); vertPanel.remove(lbl); } }; public PageTest() { lbl.addDoubleClickHandler(dch); vertPanel.add(lbl); initWidget(vertPanel); } }
Merci d'avance!
Apostroff
Partager