Surcharger un event handler
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:
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:
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.