2009-08-20 13 views
1

Tout d'abord c'est mon - Test SiteJavascript dans Google Maps fenêtre Info - ne fonctionne pas dans IE

Ceci est mon terrain de jeu de test pour les cartes Google, je ne suis pas de moi-même avec l'esthétique. Ce qui me pose problème, c'est de faire démarrer jQuery quand je clique sur un lien à l'intérieur de la fenêtre d'information. Si vous êtes familier avec Google Maps c'est là que je crée mon infowindow:

GEvent.addListener(marker,"click", function() { 
map.openInfoWindow(point,'<div class="infoWindow">'+windowText+'\ 
'+<a href='#' class='showme' onclick='return false;'>Show Comments</a>+'\ 
</div>');     

/*On click, show all the comments*/ 
$('.showme').live('click', function(){ 
    //alert('hey'); 
    $('.comment').toggle('slow'); 
}); 

              }); 

Pour comprendre comment cela fonctionne, il pourrait être plus facile de voir la source sur la page. A l'origine je devais au lieu d'utiliser un "live" faire un "clic" normal qui ne fonctionnait pas. Je supposais que la fenêtre d'information était son propre environnement en dehors de la fenêtre principale.

C'était faux je crois quand j'ai essayé le "live" et il a commencé à fonctionner dans Chrome et FF. Donc maintenant j'essaye de comprendre pourquoi l'événement de clic ne fonctionne pas dans n'importe quel navigateur, et pourquoi l'événement de phase fonctionnerait dans tout sauf IE.

Quelqu'un a-t-il des commentaires?

Merci,
Levi

Edit: Désolé, si elle ne voit pas clairement le lien « Afficher les commentaires » dans la fenêtre d'information est l'endroit où se trouve ma peine.

Répondre

2

Il semble que l'utilisation de la fonction live() de jquery avec IE pose certains problèmes. Il y avait une recommandation here pour essayer de lier à la place. J'ai lu à d'autres endroits que l'utilisation d'un autre événement de souris peut aussi fonctionner, comme le mouseup ou le mousedown. Cela semble définitivement être un bug d'IE, cependant.

+0

Oh wow, ça a fait l'affaire. Je serais toujours curieux de savoir pourquoi les événements de clic réguliers ne fonctionnent pas dans la fenêtre d'information, mais je vais devoir faire des recherches un peu plus. – Levi

0

Le plugin livequery semble fonctionner dans les fenêtres d'information avec IE.

$('.showme').livequery(function(){ 
    $(this).click(function(){ 
    $('.comment').toggle('slow'); 
    }); 
}); 
0

Modification du live('click',...) à live('mouseup', ...) fixe dans mon cas.

Questions connexes