我试图弄清楚如何锁定单个元素,以使用户无法移动它们。我不想阻止所有元素仅移到单个元素。
在我的情况下,我想防止用户移动另一个元素(嵌入式)中的元素。
以指针向下事件为例。以下代码不起作用,但是有“锁定”属性或类似的用法吗?
this.paper.on(
"element:pointerdown",
function(elementView) {
elementView.model.set("locked", "true");
}.bind(this)
);
我尝试使用以下代码使“子”元素不具有交互性,但这会阻止用户从该元素创建例如链接。
this.paper = new joint.dia.Paper({
interactive: function(cellView) {
if (cellView.model.isElement()) {
if (cellView.model.parent()) {
return false;
}
}
return true;
},
答案 0 :(得分:0)
找到了一种解决方案,该解决方案将使元素不可移动,但仍允许用户从该元素创建链接。
this.paper = new joint.dia.Paper({
interactive: function(cellView) {
if (cellView.model.isElement()) {
if (cellView.model.parent()) {
return { elementMove: false };
}
}
return true;
},