基本上,我想知道是否可以更改后续处理程序将接收的事件的属性。
示例小提琴: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
答案 0 :(得分:1)
我担心你不能这样做,事件属性是只读的:MouseEvent in MDN。
您是否尝试过使用CSS3 transform
并设置transform-origin
来解决问题?