0

問題

基本的に、後続のハンドラーが取得するイベントの属性を変更できるかどうか疑問に思っています。

フィドルの例:http://jsfiddle.net/9QZ2a/(デバッグコンソールを開く必要があります)

clientXコンテナのキャプチャフェーズでイベントの属性を変更し、その変更をターゲット要素のバブリングフェーズで発生したイベントに反映させようとしています。

裏話

iOSのスケーリングされたオーバーレイにGoogleマップ要素があります(これを必要とする広告の場合と同様に、ズームレベルに関係なく、オーバーレイが常に同じサイズに「見える」ようにスケーリングされます)。

マップは100%ズームで完全に機能しますが、ページを拡大するとすぐに、CSS3を使用してオーバーレイ(マップを含む)が拡大縮小されscaleます。これにより、マップを操作するときにイベントの位置がずれます。たとえば、マップの中央をピンチズームしようとすると、実際には左上にズームインします。

イベントがmapsAPIによってキャッチされる前に、イベント座標をスケーリングすることでこれを修正できると思います。

Google Maps APIを変更できないため、コンテナコードで解決策を見つけることに制限されています。

ありがとう!

編集:私が解決しようとしていた根本的な問題は、実際にはGoogle MapsAPIのバグです:( http://code.google.com/p/gmaps-api-issues/issues/detail?id=4046

4

1 に答える 1

1

恐れ入りますが、これはできません。イベントプロパティは読み取り専用です:MDNのMouseEvent

CSS3transformと設定を使用して問題を解決しようとしましたtransform-originか?

于 2012-08-10T08:01:42.223 に答える