我正在尝试在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添加事件处理程序答案 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;
希望这是你正在寻找的。 p>
答案 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