我希望在JointJS Diagrams中禁用元素和链接的移动,同时保持其他功能,例如元素的超链接和鼠标上的链接突出显示:悬停。我提到了以下链接: https://groups.google.com/forum/#!searchin/jointjs/drag/jointjs/R0KZwKqfRbI/rGLJz3t4Un0J https://groups.google.com/forum/#!searchin/jointjs/read $ 20only / jointjs / o8CKU6N7EOI / 1KGNFCQQHGUJ
但他们没有帮助我。我试过了:纸。$ el.css('pointer-events','none'); 但它禁用了一切。我想只禁用元素和链接拖动
答案 0 :(得分:16)
假设我理解正确,第二个链接应该给你答案。你只需要使论文不互动:
var paper = new joint.dia.Paper({
el: '#paper',
width: 500,
height: 500,
gridSize: 1,
graph: new joint.dia.Graph,
interactive: false
});
这应禁用元素/链接/顶点的任何移动,同时保持突出显示功能。
答案 1 :(得分:2)
paper.$el.css('pointer-events', 'none');
将禁止纸张上所有物品的移动。如果要禁用特定元素的移动,请使用它。
element.attr({rect:{style:{'pointer-events':'none'}}});
答案 2 :(得分:1)
我的建议是获取事件对象并使用自己的ligic来禁用/ keepalive。 你是怎么做到的:
var b_paperDraggable = false;
var b_paperPropertise = false;
paper.on('cell:pointerdown', function (cellView) {
if (b_paperDraggable == true) {
//...
}
if (b_paperPropertise == true) {
openPropInModal(cellView.model.id, cellView.model.attributes.elmTypeID);
$("#modal-container").modal();
}
});
答案 3 :(得分:0)
对我来说,解决方案是添加cell.model.attr('./pointer-events','none');
,例如,您需要搜索模型:
例如在create元素之后:
var cell = paper.findViewByModel(graph.getLastCell());
cell.model.attr('./pointer-events','none');