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);
}
}