2009-11-22 6 views
0

Dans mon application Web, j'utilise jQuery pour sélectionner tous les liens sur la page et les intercepter là où ils vont afin de pouvoir passer à une autre partie de la page avec AJAX. Le problème est que certains de ces liens sont dans InfoWindows (si c'est ce qu'on appelle) sur une carte Google. Pour une raison quelconque, le sélecteur jQuery $ ('a') ne les sélectionne pas. Ils sont chargés en même temps que la page (c'est-à-dire quand $ ('a') .click est appelé) et je ne vois pas comment ils n'apparaissent pas dans le DOM. Des idées?Sélection de liens dans Google Maps InfoWindows w/jQuery

Répondre

0

Je pense que le contenu de l'infoWindows est injecté dans le DOM par programmation, lorsque la fenêtre est affichée, donc les liens ne sont pas présents lorsque vous exécutez votre sélecteur.

Essayez de lier l'événement avec clicklive:

$('a').live('click', function() { 
    // .. 
}); 

La méthode live fonctionne avec event delegation, et cela fonctionnera pour tous les points d'ancrage présents dans le document.

+0

Le contenu de la fenêtre d'information FYI est chargé dans le DOM lorsque le développeur spécifie une chaîne html comme contenu (très probablement ce qui se passe ici). Cependant, l'API prend en charge avant tout le paramétrage du contenu de la fenêtre d'information en tant que nœud DOM, auquel cas elle peut exister dans le DOM chaque fois que le développeur le souhaite et ayant déjà des événements liés. http://code.google.com/apis/maps/documentation/reference.html#GMap2.openInfoWindow –

Questions connexes