首先,这是我的 - Test Site
这是我测试谷歌地图的游乐场,我并不关心自己的美学。我遇到麻烦的是当我点击信息窗口内的链接时,会触发一些jQuery。如果您熟悉Google地图,那么我就是创建我的信息库的地方:
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事件在任何浏览器中都不起作用,以及为什么live事件可以在除IE之外的所有事件中工作。
有人有任何意见吗?
谢谢,
列维
编辑:对不起,如果不清楚信息窗口中的“显示评论”链接是我的麻烦所在。
答案 0 :(得分:2)
在IE中使用jquery的live()功能似乎存在一些问题。有一个建议here来尝试绑定。我在其他一些地方读过,使用不同的鼠标事件也可以正常工作,例如mouseup或mousedown。但它绝对看起来像是一个IE漏洞。
答案 1 :(得分:0)
livequery插件似乎可以在IE的信息窗口中使用。
$('.showme').livequery(function(){
$(this).click(function(){
$('.comment').toggle('slow');
});
});
答案 2 :(得分:0)
将live('click',...)
更改为live('mouseup', ...)
修复了我的问题。