Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 方法createjs.Stage返回一个带有easeljs的错误_Javascript_Html5 Canvas_Easeljs - Fatal编程技术网

Javascript 方法createjs.Stage返回一个带有easeljs的错误

Javascript 方法createjs.Stage返回一个带有easeljs的错误,javascript,html5-canvas,easeljs,Javascript,Html5 Canvas,Easeljs,当我获取画布并发送创建阶段时,我得到以下字符串错误: Uncaught TypeError: Cannot call method 'addEventListener' of undefined. 我的初始化函数: function init() { canvas = document.getElementById("testCanvas"); stage = new createjs.Stage(canvas); screen_width = canvas.widt

当我获取画布并发送创建阶段时,我得到以下字符串错误:

Uncaught TypeError: Cannot call method 'addEventListener' of undefined.
我的初始化函数:

function init() {
    canvas = document.getElementById("testCanvas");

    stage = new createjs.Stage(canvas);
    screen_width = canvas.width;
    screen_height = canvas.height;

    contentManager = new ContentManager();
    contentManager.SetDownloadCompleted(startGame);
    contentManager.StartDownload();
}
给出错误的代码块是:

p.enableDOMEvents = function(enable) {
    if (enable == null) { enable = true; }
    var n, o, ls = this._eventListeners;
    if (!enable && ls) {
        for (n in ls) {
            o = ls[n];
            o.t.removeEventListener(n, o.f);
        }
        this._eventListeners = null;
    } else if (enable && !ls) {
        var t = window.addEventListener ? window : document;
        var _this = this;
        ls = this._eventListeners = {};
        ls["mouseup"] = {t:t, f:function(e) { _this._handleMouseUp(e)} };
        ls["mousemove"] = {t:t, f:function(e) { _this._handleMouseMove(e)} };
        ls["dblclick"] = {t:t, f:function(e) { _this._handleDoubleClick(e)} };
        t = this.canvas;
        if (t) { ls["mousedown"] = {t:t, f:function(e) { _this._handleMouseDown(e)} }; }

        for (n in ls) {
            o = ls[n];
            o.t.addEventListener(n, o.f);
        }
    }
特别是这个街区:

    for (n in ls) {
        o = ls[n];
        o.t.addEventListener(n, o.f);
    }

当“n”的值为
位图动画\u initialize
时,给出错误信息。我在Stage.js中找到了这段代码,该文件与easeljs v0.6.0的rar一起出现

如果您注释掉contentManager代码,是否会看到此错误?看起来很奇怪

canvas = document.getElementById("testCanvas");
您是否有id为“testCanvas”的DOM元素


我在构建我的第一个EaselJS应用程序时遇到了这个错误,因为我的id中有一个输入错误。

您可能已经在
对象的原型中添加了一些内容(我也是)。每个循环的javascript不区分“真实”和原型属性

@此库的开发人员:根据Douglas Crockford的建议(请参阅),循环应首先检查其属性:

for (n in ls) {
  if (ls.hasOwnProperty(n)) {
    o = ls[n];
    o.t.addEventListener(n, o.f);
  } 
}