2009-08-20 135 views
1

首先这是我 - Test Site的JavaScript在谷歌地图信息窗口 - 不工作在IE

这是我对谷歌地图的测试操场上,我不与美学有关自己。当我点击信息窗口中的链接时,我遇到的问题是获取一些jQuery来触发。如果你熟悉谷歌地图这是我创造我的信息窗口:

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'); 
}); 

              }); 

要理解它是如何工作的,它可能是更容易只是在页面上查看源。原本我没有使用“现场活动”一直在进行正常的“点击”,这是行不通的。我假设,因为信息窗口是除了主窗口之外的自己的环境。

这是错误的我相信当我尝试“现场活动”,它开始在Chrome和FF工作。所以现在我想了解为什么click事件在任何浏览器中都不起作用,为什么现场事件只能在IE浏览器中运行。

有没有人有任何输入?

感谢,
列维

编辑:对不起,如果没有被清除的信息窗口中的“显示评论”链接是我的麻烦所在。

回答

2

似乎有一些与IE浏览器使用jQuery的live()功能有关的问题。有建议here来尝试绑定。我读过其他一些地方,使用不同的鼠标事件也可以,比如mouseup或mousedown。但它绝对看起来像一个IE错误。

+0

哦,哇,这是诀窍。我仍然很想知道为什么常规的点击事件不能在信息窗口中工作,但我必须多研究一下。 – Levi 2009-08-20 01:21:48

0

这个livequery插件似乎在IE浏览器的信息窗口中工作。

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

改变live('click',...)live('mouseup', ...)在我的情况下固定它。