gpt4 book ai didi

javascript - Requirejs Jquery原型(prototype)继承

转载 作者:行者123 更新时间:2023-12-02 17:20:15 25 4
gpt4 key购买 nike

我正在尝试将 jquery 导入到我的原型(prototype)类中,该类最初在构造函数中工作。

在调用 resizeCanvas 事件时我失去了 jquery 的范围。它说 width() 和 height() 函数未定义。

有没有办法让我不会丢失 jquery 变量。

define(['jquery'], function($) {

function Canvas() {
this.canvas = document.getElementById('canvas');
this.context = this.canvas.getContext('2d');
this.rowbuild = $('#rowbuild');
}

Canvas.prototype.addResizeListener = function() {
window.addEventListener('resize', this.resizeCanvas, false);
};
Canvas.prototype.resizeCanvas = function() {
this.canvas.width = this.rowbuild.width();
this.canvas.height = this.rowbuild.height();
};

return Canvas;
});

最佳答案

您需要使用 bind$.proxy 将监听器绑定(bind)到正确的上下文对象。

window.addEventListener('resize', this.resizeCanvas.bind(this), false);

此外,如果您已经在使用 jQuery,为什么还要使用 addEventListener

关于javascript - Requirejs Jquery原型(prototype)继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24026259/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com