title: Typescript/D3 v4 - Context of this in d3.drag().on("end", this.dragended)
body: <p>I am using the D3 library to move an item within a Venn-diagram. When I stop dragging I want to determine the position of the item in the diagram.</p>
  
  <pre><code>item.call(d3.drag()
      .on("start", this.dragstarted)
      .on("drag", this.dragged)
      .on("end", this.dragended)
  );
  </code></pre>
  
  <p>These are the functions I call when the dragging starts, is going on and ends. </p>
  
  <pre><code>dragended(d: TCMemberScenario, i: number) {
      d3.select(this).classed("active", false);
      d.calculateRoles();
      this.save();
  }
  </code></pre>
  
  <p>This is the function that is called when the dragging has ended. I update some things in the diagram and then I want to call the save method. This is another method in the class. However, the this variable is referencing to the D3 object and not the instance of the class.
  So I get a "Uncaught TypeError: Cannot read property 'save' of undefined"</p>
  
  <p>How can I call from the dragended method another method of my class?</p>