【发布时间】:2015-07-09 06:03:31
【问题描述】:
我的网站有问题。我需要捕获“mousemove”事件,然后根据事件发生时光标的位置更改提示窗口的位置。代码如下:
google.maps.event.addListener(country, 'mousemove', function(e) {
this.setOptions({fillOpacity: 1});
$('div.info-win').css('top', e.kb.clientY + 20 + 'px');
$('div.info-win').css('left', e.kb.clientX -50 + 'px');
$('div.info-win').show()
});
起初一切正常,但很快浏览器开始显示错误,即 e.kb 未定义。我通过控制台检查了事件,并意识到“e.kb”确实不存在。取而代之的是“e.lb”,所以我在代码中对其进行了更改。但现在问题是一样的,控制台告诉我“e.lb”不存在。我无法解释,但现在捕获的事件具有“.gb”属性而不是“.lb”。有人可以帮助我并解释为什么每周都会再次发生这种情况,所以我需要始终检查事件属性的名称?这是我第一次看到这样的问题,但同时我找不到任何解决方案!
【问题讨论】:
-
不要使用内部 Google Maps Javascript API 属性(如
.kb),它们没有记录在案,并且可以随着 API 的更新而改变。仅使用 API 的记录属性。
标签: javascript jquery google-maps google-fusion-tables