2016-04-21 53 views
0

我的打印代碼。Typescript這個關鍵字不工作在jquery事件處理程序中

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

在句柄函數 - > this和$(this)不能同時存在。

我該如何解決問題?

回答

0

也許做一個更經典的JavaScript方式可以解決它,與功能,而不是箭頭功能。

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

這可能有助於

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