如何使 jointjs 元素中的标签文本不可选?

How to make label text in jointjs elements not selectable?

我正在尝试为以下问题找到解决方案。当我在元素之间拖动 link 时,由于某种原因,元素内的标签文本被选中。

假设我有一个带有 属性 A.attr("body/magnet", "active") 的元素 A;设置和 A.attr("label/text", "some text");当我通过单击并拖动标签文本从该元素创建 link 时,会在 link 通过的元素上选择标签文本。

这似乎有点随机,因为有时拖动 link 时图表中的所有标签都会被选中。

有没有办法让标签文字不可选?

我们通过向形状添加以下标签样式解决了这个问题。

let element = new joint.shapes.standard.Rectangle();

element.attr(
  "label/style",
  "-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;"
);

根据上面的答案,链接仍会被选中,因此您可以将 css 放在 #paper is 或 canvas 上,就像这样

#paper {
 -webkit-user-select: none;
 -moz-user-select: none;
 -ms-user-select: none;
  user-select: none;
}