想象一下,我有一个带有一些大矩形的图表。我想从模具中拖出一个圆圈,并且只允许将其放在预先存在的矩形内。此外,当用户在图形周围拖动圆圈(决定将它放在哪里)并且圆圈进入一个矩形时,我想更改矩形的颜色。
基本上,圆圈只允许在矩形中使用,我想在用户放下圆圈之前突出显示矩形。
这可能与jointjs或rappid有关吗?
有可能的。在 JointJS 网站上甚至有一个小而隐蔽的演示就是关于这个的。(https://resources.jointjs.com/docs/jointjs/v2.1/demo/shapes/shapes.devs.html)
你只需要摆弄 Paper 选项:
embeddingMode: true
如果你还没有设置,然后像这样将嵌入类添加到突出显示中(显然,在你的 css 中为这个类定义一些样式):
highlighting: {
'embedding': {
name: 'addClass',
options: {
className: 'highlighted-parent'
}
}
}
最后,validateEmbedding: function(childView, parentView) {}
使用您自己的自定义规则实施。