Bonjour,

J'utilise la librairie OpenLayers (pour la création de cartes) et ExtJS (avec son extension GeoExt qui repose sur OpenLayers).
J'ai une carte (objet OpenLayers.Map) qui réagit à un click de l'utilisateur. La propriété events permet de gérer les événements de la carte.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
map = new OpenLayers.Map();
map.events.on({
	click : function(evt){
             traitement1;
        }
});
Je voudrais changer cette réaction directement après le premier click sur la carte. Pour cela, j'ai imbriqué le même click handler dans lui même :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
map.events.on({
	click : function(evt){
               traitement1;
               map.events.on({
	           click : function(evt){
                         traitement2;
                   }
              });
       }
});
Le comportement que j'obtiens au premier click correspond bien au traitement1. Mais au deuxième click j'obtiens le traitement1 et ensuite le traitement2, alors que je ne veux que le traitement2.

Y a-t-il une façon d'obtenir le résultat que je cherche ?

Cordialement.

PS : Dans les codes ci-dessus, je n'utilise qu'OpenLayers : pas de ExtJs. Si il y a une meilleure manière de faire avec ExtJs je suis preneur.