Actionscript 3 ActionsScript 3事件侦听器未执行函数

Actionscript 3 ActionsScript 3事件侦听器未执行函数,actionscript-3,function,events,listener,trace,Actionscript 3,Function,Events,Listener,Trace,下面的代码似乎没有按预期工作,我甚至没有看到trace语句,但我没有收到任何错误。我非常困惑 keyboardMC.button0MC.addEventListener(MouseEvent.CLICK, Button0); function Button0(mouseEvent:MouseEvent):void { trace('0'); } 我还应该提到,我放入函数中的任何其他代码都不会执行 有人能看出这有什么问题吗?如果正如Jason Sturges所说的,您的代码应该可以正常

下面的代码似乎没有按预期工作,我甚至没有看到trace语句,但我没有收到任何错误。我非常困惑

keyboardMC.button0MC.addEventListener(MouseEvent.CLICK, Button0);

function Button0(mouseEvent:MouseEvent):void {
    trace('0');
}
我还应该提到,我放入函数中的任何其他代码都不会执行


有人能看出这有什么问题吗?

如果正如Jason Sturges所说的,您的代码应该可以正常工作。基本上,检查电影剪辑上是否覆盖了某些内容,它不需要任何事件

shaumhusain的意思是这样做:

stage.addEventListener(MouseEvent.CLICK, OnClickHandler);
function OnClickHandler(e:MouseEvent):void
{
   trace(e.target.name);
}

还要检查该movieclip的父级是否已启用鼠标,否则它将无法工作。

是否在舞台上可以看到键盘mc.button0MC,并且在显示列表中其上方没有启用鼠标的对象?如果将
buttonMode=true
设置在
button0MC
上,鼠标光标是否会变为手?@jasonturges
keyboardMC.button0MC
是可见的,上面没有启用鼠标的对象,从我可以看出,显示列表是什么?我已经在
button0MC
上设置了
buttonMode=true
,我确实看到鼠标光标变为手形。您是否正在运行调试模式,如果不运行,您将不会看到跟踪语句输出。您的函数命名是非常规的,应该类似于button\u clickHandler,虽然我不认为你的命名选择在技术上有任何问题,但可能值得改变,下一步我将尝试在此处添加侦听器的行上放置一个调试点,或在此处放置一个跟踪语句,以确保侦听器已注册。下一步是将侦听器添加到后台并检查event.target当您尝试单击按钮/movieclipI使用了您的代码时,非常感谢,它立刻让我意识到问题出在我的
键盘MC
上,而不是
按钮0MC
上,我的
按钮mode=true
mouseChildren=false
现在工作得很好,谢谢。