Firefox 3では、Haxe/FlashアプリのすべてのmouseWheelイベントが2回発生しています。これは、WindowsバージョンのFirefoxでのみ発生するようです。IEやOperaでは発生せず、Linuxでは発生しません。
これは既知の問題ですか、それとも何か間違ったことをしている可能性がありますか?ユーザーエージェントをチェックしたり、他のすべてのイベントを無視したりするなど、クレイジーなことを伴わない回避策はありますか?
更新:古いパワーブックでテストしたところ(pixelbreakerのSWFMacMouseWheelスクリプトを組み込んだ後)、FirefoxのOS Xバージョンは正常に動作しますが、Safari(3.2.1)もイベントを2倍にしていることがわかりました。
また、AS3で簡単なテストを作成して、それがどういうわけかHaxeのせいではないことを確認しました。私は同じ振る舞いをしました。コードは以下のとおりです。ここで試すことができます。
package {
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.text.TextField;
public class Test extends Sprite {
public function Test() {
super();
var tf: TextField = new TextField();
tf.height = 300;
addChild(tf);
stage.addEventListener(MouseEvent.MOUSE_WHEEL,
function(e:MouseEvent):void { tf.appendText(e.delta+"\n"); });
}
}
}