0

基本的に、Flex 4.5 でマウス ホイールに簡単なズーム イン/アウトを実装しようとしています。

シーンは一連のネストされた mx:Canvas です (私は Spark ではなく MX で作業することを余儀なくされています)。ネストされたキャンバスの 1 つに、mouseWheel="..." イベントが割り当てられています。

ここで問題: Firefox では、wmode=window (Chrome は正常に動作します)、理由は不明ですが、ホイール イベントを処理するキャンバスからカーソルが移動するまで、MouseEvent が継続的に発生します。

試したこと:

  • wmode トランスペアレント。
  • event.stopPropagation();
  • event.stopImmediatePropagation();
  • event.preventDefault();
  • イベント処理を階層の上位/下位に移動します。
  • ハンドラーでリスナーを削除し、タイムアウト時に再度割り当てます。
  • 上記のさまざまな組み合わせ。

何も機能していないようです。

アイデア?

UPD:要素のサイズが少なくとも 1 回変更された後にのみ発生しているようです。

4

1 に答える 1

0

これには合理的な (または論理的な) 解決策がないように思われるため、醜い回避策があります。

  • ホイール ハンドラーで、追加します。handlerObject.mouseEnabled = false;
  • mouseEnabledにリセットするには、1 ~ 10 ミリ秒のタイムアウトを設定しtrueます。

ホイールイベントを「リセット」しているようです。

于 2013-01-21T08:59:37.853 に答える