在强制有向图中关闭拖动行为时,有没有办法停止选择文字?
使用以下行关闭拖动行为:
svg.selectAll('g.gnode')
.on('mousedown.drag', null);
指针仍然是指针,而不是光标(根据this question的答案)。但拖动仍会最终更改指向光标的指针并开始选择文本。有没有办法避免这种情况,因此在拖动时没有选择文本?
答案 0 :(得分:2)
禁用整个groupnode上的指针事件。所以而不是:
text {
pointer-events: none;
}
使用:
.gnode {
pointer-events: none;
}
答案 1 :(得分:0)
使用this question的答案似乎可以解决问题。这需要将以下定义添加到css文件中:
.noselect {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
将noselect
类添加到gnodes:
var gnodes = svg.selectAll('g.gnode')
.data(graph.nodes)
.enter()
.append('g')
.classed('gnode', true)
.classed('noselect', true)
.call(force.drag);