Bienvenue! Inscrivez-vous et rejoignez notre communauté :)
  • Login:

Bienvenue sur Forum SIG - Systèmes d'Information Géographique et Géomatique.

Bienvenue sur le forumSIG. S'il s'agit de votre première visite, assurez vous de faire une recherche préalable dans les FAQ SIG. Vous devez vous inscrire avant de pouvoir poster.

Affichage des résultats 1 à 2 sur 2
  1. #1

    Date d'inscription
    janvier 2005
    Messages
    456

    Par défaut un bouton dans un popup

    Bonjour,

    Sur ma carte dans Leaflet, j'affiche un layer geojson, et je défini un popup pour chaque élément du geojson.
    Dans ce popup, j'ai un bouton, et je voudrais lui affecter un événement click, mais ça ne fait rien...

    voici mon code :
    Code:
    var mapObj = new L.geoJson(geojson, {
                            style: function(feature) {                                                                
                                        return {color: depColor(feature.properties.mode_dep)};
                            },
                            
                            onEachFeature: function (feature, layer) {                        
                                var popupContent = '<div>'+
                                                    '<p><span class="popup-title">Individu '+feature.properties.n_ipc+' </span></p>'+
                                                    '<p><span class="popup-label">Lieu de départ: </span><span>'+feature.properties.lieustart+' ('+feature.properties.mintime+')</span></p>'+
                                                    '<p><span class="popup-label">Lieu d\'arrivée: </span><span>'+feature.properties.lieustop+' ('+feature.properties.maxtime+')</span></p>'+
                                                    '<p><span class="popup-label">Mode de déplacement: </span><span>'+depLabel(feature.properties.mode_dep)+' ('+feature.properties.mode_dep+')'+'</span></p>'+
                                                    '<p><button type="button" class="btn btn-primary btn-sm legend-item-button" title="Métadonnées" id="btnpopup_pollution">'+
                                                            '<i class="fa fa-file-text-o"></i>'+
                                                        '</button>'+
                                                    '</p>'+
                                                    '</div>';
                                
                                $('#btnpopup_pollution').on('click', function(event) {    
                                    // ici faire quelque chose
                                });
                                
                                layer.bindPopup(popupContent);
                                
                                layer.on("mouseover",function(e){
                                    layer.setStyle({weight: 6});
                                });
                                layer.on("mouseout",function(e){
                                    layer.setStyle({weight: 2});
                                });
                            }
                });
    ça ne fait rien sur l'événement click sur le bouton, mais les événements mouseover et mouseout fonctionnent.

    qu'est ce qui cloche ?

    Merci,
    Nico

  2. #2

    Date d'inscription
    mai 2011
    Localisation
    Algérie
    Emploi
    Cadre d'études Carto/SIG
    Organisme
    Bureau National d'Etudes pour le Développement Rural
    Âge
    28
    Messages
    162

    Mes réseaux sociaux

    Add parazitenew on Facebook
    Add parazitenew on Linkedin

    Par défaut Re : un bouton dans un popup

    Bonjour, j’espère que ce n'est pas trop tard.

    Tu gères l’événement à l'intérieur de la fonction de "onEachFeature" qui elle même est à l'intérieur de la fonction "L.geoJson" pour un bouton n'existe pas encore. Normal que ça ne marche pas. Sors la gestion du clique de toutes les fonctions, en essayant ceci:

    Code:
    $(document).on('click', '#btnpopup_pollution', function(){ 
         // Ton code
    });
    Si ça ne marche pas, il faudra remplacer "document" par autre chose comme "body" par exemple. En fait, ici il s'agit d’interagir avec un bouton dynamique. Au moment où le JS se charge sur le navigateur, le bouton ne sera pas encore crée, voilà pourquoi ça ne marchait pas.

    Tu pourras approfondir en cherchant jquery dynamic button sur google.
    Si j'ai pu t'aider, un petit pouce à gauche serait très apprécié

 

 

Discussions similaires

  1. [Leaflet] Réalisation d'un diaporama dans un popup Leaflet
    Par levcoco dans le forum Assistance et Programmation
    Réponses: 2
    Dernier message: 19/10/2016, 06h54
  2. [OpenLayers] Inserer image dans popup
    Par Arno dans le forum Assistance et Programmation
    Réponses: 9
    Dernier message: 16/05/2011, 16h10
  3. [MapBasic 9.x] Intégrer un code dans un bouton
    Par meha dans le forum Programmation
    Réponses: 6
    Dernier message: 22/04/2011, 17h27
  4. [ArcGIS 9.x] Ajouter Bouton dans ArcReader
    Par coy.snoopy dans le forum Programmation
    Réponses: 1
    Dernier message: 02/12/2010, 10h47
  5. [ArcGIS 9.x] Bouton Imprimer dans un Formulaire
    Par coy.snoopy dans le forum Programmation
    Réponses: 5
    Dernier message: 01/12/2010, 15h52

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •