在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