打字稿此关键字在jquery事件处理程序中不起作用

时间:2016-04-21 07:14:27

标签: javascript jquery typescript

我的打字稿代码。

class something {
    createSomething(): JQuery {
        let result = $('<div>');
        $('<input>').on('change paste keyup', () => {
            this.myProperty = $(this).val;
            this.change();
        }).appendTo(result);
        return result;
    }
    myProperty: string;
    change() {
        alert('yeah');
    } }

在句柄功能中 - &gt;这和$(this)不能同时存在。

如何解决问题?

2 个答案:

答案 0 :(得分:0)

也许做一个更经典的javascript方式可以解决它,连同功能而不是箭头功能。

    var that = this;
    $('<input>').on('change paste keyup', function() {
                that.myProperty = $(this).val;
                that.change();
            }).appendTo(result);

答案 1 :(得分:0)

这可能会有所帮助

createSomething(): JQuery {
    var self = this;
    let result = $('<div>');
    $('<input>').on('change paste keyup', () => {
        self.myProperty = $(this).val;
        self.change();
    }).appendTo(result);
    return result;
}