我有一个Grid" class"侦听在窗口上调整事件大小并调用一个函数,该函数现在只是记录对DOM元素的引用。在调整大小之前访问el工作完美,并且之后的工作方式相同,但在我的resize事件回调期间,它是未定义的。是什么给了什么?
function Grid (el) {
this.el = document.querySelector(el);
this.init();
}
Grid.prototype.init = function() {
window.addEventListener('resize', this.resizeCanvas, false);
}
Grid.prototype.resizeCanvas = function() {
console.log(this.el);
}
每当我调整浏览器大小时,都会记录undefined。
答案 0 :(得分:2)
没有使用Grid的上下文调用resizeCanvas。一种选择是做这样的事情:
Grid.prototype.init = function() {
var self = this;
window.addEventListener('resize', function () {
self.resizeCanvas();
}, false);
}