在Firefox 3中,我的Haxe/Flash應用程序中的所有mouseWheel事件都會觸發兩次。這似乎只發生在Firefox的Windows版本中;它不會發生在IE或Opera中,並且在Linux中不會發生。在XP上的Flash中重複鼠標滾輪事件Firefox
這是一個已知問題,或者我可能做錯了什麼?有沒有一種解決方法不會涉及到像檢查用戶代理和忽略其他所有事件那樣瘋狂的事情?
更新:我測試了一箇舊的powerbook(在合併了pixelbreaker的SWFMacMouseWheel腳本後),發現雖然OS X版本的Firefox正常運行,但Safari(3.2.1)也將事件加倍。
我也在AS3上寫了一個簡單的測試,以確保它不是Haxe的錯;我得到了同樣的行爲。代碼如下,你可以試試here。
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"); });
}
}
}
很高興知道,但我沒有觸及wmode,如果直接打開swf,問題仍然存在。 – 2009-12-29 03:39:29