avec Google Map V2, j'aimerais pouvoir déclencher une fonction lorsque vous cliquez sur un texte dans l'info-annonce d'un gammeur.
$(".foo").click(myFunction); ... marker.openInfoWindowHtml("<span class=\"foo\">myText</span>");
6 Réponses :
Autant que je sache, GMAPS injecte de contenu dans l'InfoWindow par programme, de sorte que tous les gestionnaires d'événements liés sur les éléments injectés ne tiraient pas à moins que vous utilisiez la délégation d'événements:
$(".foo").live("click", myFunction);
Si l'appel de liaison de l'événement est appelé avant l'appel à OpenInfowindowhtml tel qu'il est dans votre exemple, la SPAN n'était pas dans le DOM pendant que le premier appel cherchait des éléments avec la classe "foo", donc aucun gestionnaire n'a été attaché. .
Vous pouvez soit déplacer ce gestionnaire d'événements à appeler après OpenInfowindowhTML, soit utiliser une liaison d'événement "en direct" de sorte que JQuery surveille le DOM pour tout nouveau élément avec le sélecteur donné. P>
$(".foo").live('click', myFunction);
Merci Kevin, cela fonctionne. Je devais mettre un événement de clic sur une liste interne de jquery mobile et la page interne semble charger avant que l'événement incendie ?? juste quelque chose à prendre conscience de.
Essayez ceci:
google.maps.event.addListener(infowindow,"**domready**",function() { var Cancel = document.getElementById("Cancel"); var Ok = document.getElementById("Ok"); google.maps.event.addDomListener(Cancel,"click",function() { infowindow.close(); }); google.maps.event.addDomListener(Ok,"click",function() { infowindow.close(); console.log(position); codeLatLng(position); }); });
Je ne pouvais pas le faire fonctionner comme Kevin Gorski expliqué ...
avec jQuery 1.9.1 et cartes API V = 3.Exp Les travaux suivants: P>
infowindow.setContent('<a href="#" id="test">test</a>'); google.maps.event.addDomListener(infowindow, 'domready', function() { $('#test').click(function() { alert("Hello World"); }); });
Solution simple et travailler pour moi. Utilisez ONCLICK Event en SPAN.
L'info-info-info-info-info-info-info-info-infoWindow fort> ne doit contenir qu'avec un espace réservé avec un identifiant unique fort>: p> et à l'intérieur du MapContainer fort>, vous définissez un rappel Oninfowindowopen, qui insère un seul composant / conteneur avec l'événement OnClick et le rendit à un espace réservé Voici un exemple de travail: strong> p> Un autre exemple complet
" https://codesandbox.io/s/k0xrxok983 "rel =" NOFOollow NOREFERRER "> https://codesandbox.io/s/k0xrxok983 H2>
https://codesandbox.io/s/24m1yrr4mj h2>