es6类。 this.addeventlistener

时间:2017-10-25 15:07:42

标签: javascript jquery ecmascript-6

我正在尝试在类中添加一个eventlistener,但一直收到此错误:

" TypeError:this.win.addEventListener不是函数"

我该如何解决这个问题?

代码:

class Ui {
    constructor(el) {
        this.win = $(window);
        this.onResize = this.onResize.bind(this);
        this.init();
    }

    init() {
        console.log(this.win);
        this.addListeners();
    }

    addListeners() {
        this.win.addEventListener('resize', this.onResize);
    }

    onResize() {
        console.log('test');
    }
}

export default Ui;

2 个答案:

答案 0 :(得分:2)

jQuery实例没有addEventListener方法。请改用on

addListeners() {
    this.win.on('resize', this.onResize);
}

答案 1 :(得分:1)

jQuery对象是集合,我们需要获取该集合的第一个元素:

this.win[0].addEventListener('resize', this.onResize);