javascript:在jcanvas的draw方法中从事件侦听器访问父对象

javascript:在jcanvas的draw方法中从事件侦听器访问父对象,javascript,jquery,jcanvas,Javascript,Jquery,Jcanvas,我正在使用jcanvas()来学习javascript项目。我有以下代码: var Board = function($element){ this.place_piece = function(piece){ this.board[piece.position[0]][piece.position[1]] = piece; $element.drawImage({ source: piece.image,

我正在使用jcanvas()来学习javascript项目。我有以下代码:

var Board = function($element){
    this.place_piece = function(piece){
         this.board[piece.position[0]][piece.position[1]] = piece;
         $element.drawImage({
              source: piece.image,
              draggable: true,
              layer: true,
              x: this.get_coordinates_by_cell(piece.position)[0],
              y: this.get_coordinates_by_cell(piece.position)[1],
              dragstop: function(layer){
                console.log($this)
                console.log(layer)
              }
          });
}

我需要访问dragstop函数中的父Board对象的方法。但是当我在那里调用$this变量时,我得到了canvas。。。不是董事会本身。有什么事要做吗

进入电路板构造函数时,将其分配给局部变量(self),以便在同一范围内定义的其他函数可以访问它

类似于以下的方法将起作用:

var Board = function($element){
    var self = this;
    this.place_piece = function(piece){
         this.board[piece.position[0]][piece.position[1]] = piece;
         $element.drawImage({
              source: piece.image,
              draggable: true,
              layer: true,
              x: this.get_coordinates_by_cell(piece.position)[0],
              y: this.get_coordinates_by_cell(piece.position)[1],
              dragstop: function(layer){
                console.log(self)
                console.log($this)
                console.log(layer)
              }
          });
}