我有一个嵌入式swf,其中变量wmode的值为“opaque”。我需要保持值“不透明”,因为我必须控制swf层与其他html元素,但是wmode“opaque”会导致MouseDown事件出现奇怪的行为。
如果光标被隐藏(通过Mouse.hide())并且您尝试按下鼠标左键,光标将显示,直到您释放左按钮或移动鼠标。
如果您已将光标更改为另一个(由MouseCursor),则会发生相同的错误(即光标将打开箭头模式)。 首先,我认为这是我的应用程序错误,然后我做了一个快速示例,错误仍然存在。
当我将wmode值更改为“window”时,错误不会发生,但我必须保持wmode“opaque”。
我的例子:
import flash.events.MouseEvent;
Mouse.hide();
stage.addEventListener(MouseEvent.MOUSE_DOWN,example);
function example(e:MouseEvent){
ExternalInterface.call("console.log", "Hello World!");
}
HTML:
<div id="flashContent">
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0"
width="100%"
height="610px"
id="pl_main">
<param name="movie" value="teste_moude_down.swf" />
<param name="quality" value="high" />
<param name="allowScriptAccess" value="always" />
<param name="bgcolor" value="#ffffff" />
<param name="wmode" value="opaque" />
<embed src="teste_mouse_down.swf"
width="100%"
height="610px"
autostart="true"
quality="high"
bgcolor="#ffffff" wmode="opaque"
name="pl_main"
id="pl_main"
allowScriptAccess="always"
type="application/x-shockwave-flash"
pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>
</div>