javascript - CreateJS (Animate CC) 单击时获取影片实例名称

标签 javascript jquery-animate target createjs movieclip

我已经寻找了这个问题的解决方案,虽然我发现了几篇旧帖子,但它们似乎都没有解决问题,而是找到了一些适合该特定任务的独特解决方法。所以我希望再次提出这个问题,看看是否有人可以提出更通用的建议。

我有一个功能,里面有一个开关,监听按下的影片剪辑,并根据影片剪辑的名称,采取某些操作。由于 CreateJS 似乎没有获取影片剪辑名称,因此我已将自己的影片剪辑名称分配给各个影片剪辑,但是,如何轻松检查单击的是哪一个?在 AS3 中,可以使用 e.target.name 轻松完成

这是我的代码片段:

this.parentMovie.button1.name = "button1";
this.parentMovie.button2.name = "button2";
this.parentMovie.button3.name = "button3";

this.parentMovie.button1.addEventListener("click", onClick.bind(this));
this.parentMovie.button2.addEventListener("click", onClick.bind(this));
this.parentMovie.button3.addEventListener("click", onClick.bind(this));

function onClick(e)
{
    console.log(this.parentMovie.button1.name);    // returns the name of the movieclip just fine, so I know at least that is carried over.

    switch(/* what do I need to put here?? */) // in AS3 it was e.target.name and it worked great.  In JS it returns as null
    {
        case "button1":
            // do something
            break;

        case "button2":
            // do something
            break;

        case "button3":
            // do something
            break;
    }
}

非常感谢!

最佳答案

name 属性不会自动创建(尽管也许应该如此)。您的 switch 语句应该很简单,只需使用变量引用即可:

function onClick(e)
{
    console.log(this.parentMovie.button1.name);    // returns the name of the movieclip just fine, so I know at least that is carried over.

    switch(e.currentTarget) // Use currentTarget since the button might have children
    {
        case this.parentMovie.button1:
            // do something
            break;

        case this.parentMovie.button2:
            // do something
            break;

        case this.parentMovie.button3:
            // do something
            break;
    }
}

它应该完成您想要做的事情。

关于javascript - CreateJS (Animate CC) 单击时获取影片实例名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40291723/

相关文章:

javascript - Google 柱形图中的标签对齐

javascript - Matter.js 如何不断地向 Canvas 添加物体

xcode - 我在 Xcode 4 中的目标在哪里?

php - 将链接中的文本值定位为一个输出中的多个链接

javascript - 在 JavaScript 中找到第一个字母时如何拆分字符串?

javascript - 单击强制事件触发两次(Webpack 中可能存在问题)

javascript - 同时动画和添加类

jquery - 使用jquery在一个圆圈中旋转多个图像

jquery - 一个简单的 jQuery 脚本无法在 IE 中运行 - 认为 jQuery 是跨平台的!

xcode - 如何在 podfile 中为 Xcode 项目指定多个目标?