最近遇到一个很令人费解的问题
鼠标移到舞台对象的空白区域时不会触发mouseOver事件,当然移出时也不会有mouseOut事件
code:
stage.addEventListener(MouseEvent.MOUSE_OVER,onMouOver)
function onMouOver(e:MouseEvent)
{
trace(2);
}
在时间轴上测试如上代码不会有任何反应
当然如果你在舞台上添加一个影片剪辑,(没有F8成影片剪辑的手画的图形不可以),那么当鼠标移到影片剪辑上时,是会有反应的
不过显然上面所描述的现象的原因是时间流机制。
如果说舞台对象之所以不触发mouseOver事件,是因为舞台是空白的,那么这又无法解释click 与 mouseDown mouseUp等事件
如果把上面的代码改变一下
code:
stage.addEventListener(MouseEvent.MOUSE_DOWN,onMouDown)
function onMouDown(e:MouseEvent)
{
trace(2);
}
测试可以知道是有效的
于是这就令人费解了,究竟基于怎样的原因,stage才不会自动触发mouseOver等事件呢
(没有用空白的来修饰stage是因为貌似没有什么办法来填充stage对象,也就是说stage永远只可能是空白的,而之所以加上自动的,是因为,显然如果你手工的去dispatch事件类型为mouseOver的MouseEvent事件,stage也是能够侦听到的)