在传播期间修改事件属性

时间:2012-08-10 04:41:06

标签: javascript css3 google-maps-api-3

问题

基本上,我想知道是否可以更改后续处理程序将接收的事件的属性。

示例小提琴:http://jsfiddle.net/9QZ2a/(需要调试控制台打开)

我正在尝试在容器的捕获阶段修改事件的clientX属性,并将我的更改反映在目标元素的冒泡阶段触发的事件中。

回归故事

我在iOS上的缩放叠加层中有一个Google地图元素(它的缩放使得我的叠加始终“看起来”看起来大小相同,无论你处于什么缩放级别 - 因为广告需要这样做。) / p>

地图在100%缩放时效果很好,但是一旦放大页面,覆盖(包含地图)就会被缩放 - 使用CSS3 scale。这导致事件在与地图交互时处于关闭位置,例如,如果你试图缩放地图的中心,它实际上会放大到左上角。

我相信我可以通过在map API捕获事件之前缩放事件坐标来解决这个问题。

由于我无法更改Google Maps API,因此我只能尝试在容器代码中找到解决方案。

谢谢!

修改:我试图解决的基本问题实际上是Google Maps API中的一个错误:( http://code.google.com/p/gmaps-api-issues/issues/detail?id=4046

1 个答案:

答案 0 :(得分:1)

我担心你不能这样做,事件属性是只读的:MouseEvent in MDN

您是否尝试过使用CSS3 transform并设置transform-origin来解决问题?