打字稿中的JointJS事件处理程序

时间:2017-05-20 11:56:32

标签: typescript jointjs

我正在尝试在typescript中为jointjs文件添加事件处理程序,但是没有找到用联合js定义文件实现它的方法。

private paper = new joint.dia.Paper({
          el: $('#paper'),
          width: 650,
          height: 400,
          gridSize: 20,
          model: this.graph,
          markAvailable: true,
          linkConnectionPoint: joint.util.shapePerimeterConnectionPoint,
          snapLinks: true
     });

   this.paper.on('mouseclick', () => {
      console.log('Congratulations, you clicked the mouse!');
   });

收到错误消息

TS1068:意外的令牌。期望构造函数,方法,访问器或属性。

如何使用typescript?

为rect和lines添加事件处理程序

3 个答案:

答案 0 :(得分:0)

JointJS严重依赖其他库,例如jQuery和Backbone。在这种情况下,paper.mouseclick()函数允许您根据 joint.d.ts 定义文件传递一个事件:

const sources = html.match(/<img [^>]*src="[^"]*"[^>]*>/gm)
                          .map(x => x.replace(/.*src="([^"]*)".*/, '$1');

以Event为参数调用此方法将触发该事件。但是,我认为你实际上对处理事件更感兴趣而不是触发事件。在这种情况下,Paper类扩展了Backbone.View,您可以按照以下方式对其进行操作:

mouseclick(evt: Event): void;

希望这是你正在寻找的。

答案 1 :(得分:0)

这适用于我

   paper.on('cell:pointerup', () => {
      console.log('Congratulations, you clicked the mouse!');
  });

答案 2 :(得分:0)

我有这个为我工作:

paper.on('blank:pointerclick', function(evt, x, y) {

  //do whatever

}); //end paper.on