Flash 闪存AS3如果/否则简单问题

Flash 闪存AS3如果/否则简单问题,flash,actionscript-3,Flash,Actionscript 3,我试图写一篇平稳过渡的文章,但我不知道发生了什么。 我昨晚离开了,它还在工作,我想,现在不行了 给你 function btnclick(event:Event):void { if(event.target == load1 || load2) { trace("working"); } else { trace("not "); } } 在我的舞台上,我有3个按钮 load1.addEventLis

我试图写一篇平稳过渡的文章,但我不知道发生了什么。 我昨晚离开了,它还在工作,我想,现在不行了

给你

function btnclick(event:Event):void
{   
    if(event.target == load1 || load2)
    { 
        trace("working");
    } 
    else 
    {
        trace("not ");
    }
}
在我的舞台上,我有3个按钮

load1.addEventListener(MouseEvent.CLICK, btnclick);
load2.addEventListener(MouseEvent.CLICK, btnclick);
load3.addEventListener(MouseEvent.CLICK, btnclick);
这3个按钮实例是

load1, load2 and load3.
当我点击按钮load1或load2时,我得到了跟踪工作,但当我按下按钮load3时,我仍然在工作,而它应该说不是

为了检查,我将其更改为:

function btnclick(event:Event):void
{
    if(event.target == load1 || load2) 
    {
            trace("working");
    } 
    else if (event.target == load3)
    {
            trace("not ");
    }
}
同样的问题,他们都说工作

你知道我遗漏了什么吗?

试试这个:

function btnclick(event:Event):void{


    if(event.target == load1 || event.target == load2) {
           trace("working");
          } else {
               trace("not ");
           }

}
但我建议您使用currentTarget而不是target:


代码的问题出现在event.target==load1 | | load2中。它相当于event.target==load1 | | load2,其中如果load2不为null,Booleanload2为true。所以event.target==load1 | | load2在您的情况下总是正确的。

简单的事情:您的条件是错误的

if(event.target == load1 || load2) {
评估结果如下:

IF (event.target == load1)
OR IF (load2 is not empty)
因为load2是您的按钮,所以这始终是正确的

将其更改为:

if(event.target == load1 || event.target == load2) {

你好,康斯坦丁,我不是100%明白。但它起作用了。谢谢你。
if(event.target == load1 || event.target == load2) {