blur()谷歌地图不听重要事件

时间:2012-04-10 17:46:52

标签: google-maps-api-3

我有一个谷歌地图和右侧的滚动div。我遇到的问题是,如果有人点击并拖动地图然后移动到滚动div并按下向下箭头,或pgdn,或类似的东西,那么谷歌地图也会移动。

我不想在地图中禁用键盘输入,我想让它保持启用状态,但我想找到一种方法,当用户将鼠标悬停在右侧的滚动div上时,我可以触发某种模糊()事件会使焦点从地图上移开,这样它就不会“听到”键盘输入。

如果我在地图画布外面单击,这会有效,但是当用户将div悬停在右边而没有运气时,我尝试在各种地图画布元素上调用blur()。

有没有人遇到类似的问题(希望解决方案)?

1 个答案:

答案 0 :(得分:1)

好的,我解决了你的一半问题,如果我在第一时间正确解释它。我假设你想要的行为是,当你的鼠标在外面映射时,按键是否可以上下移动滚动div?否则,我写的内容可能有用(:

由于我无法强制滚动div中的单击,我想出的黑客是插入一个不可见的文本输入并使脚本在此文本框内单击。这会阻止影响地图的按键,但我们也不会让滚动条移动。我担心旧的浏览器,这个点击事件会自动将div滚动到文本框所在的位置。取决于您的网页,但我认为最好保持其位置固定,例如在地图下方。

http://jsfiddle.net/xNT96/2/

我刚刚在Chrome中尝试过它(按键操作后鼠标按键不做任何操作)和Firefox(如果点击滚动,当有鼠标输出时滚动div将按键移动)。即使单击div也不一致。所以它远非理想的解决方案,但希望我给你一些想法:(