我用过Jointjs我的一个项目中的图表库。
1) 我很想知道它是否提供了任何方法来限制用户不玩图表的元素。我的意思是:用户将能够将图表视为图像,而不是像调整大小、更改位置、拖动链接等那样与其进行交互。
2) 我的应用严重依赖它。虽然我已经解决了自动布局的问题,但是使用 Jointjs 有可能吗,我们可以告诉 lib 我们想要这些元素和东西吗,请帮助我们用最合适的、不冲突的元素和最少的元素制作图表如果链接是连续的直线,则相互碰撞以及与其路径中的元素发生碰撞的链接数?
3) 最后,我想知道我们是否可以检查链接是否与其他元素或同一图表中的其他链接发生冲突。我知道在元素的情况下是可能的。
if (element1.getBBox().intersect(element2.getBBox())) {
// elements intersect
}
最佳答案
1) 使用 new joint.dia.Paper({ interactive: false, ... })
或直接在纸上将 pointer-events CSS 属性设置为 none:paper。 $el.css('指针事件', '无')
2) 你可以使用 joint.layout.DirectedGraph 插件。此插件可在此处下载:http://jointjs.com/download和描述它的博客文章在这里:http://www.daviddurman.com/automatic-graph-layout-with-jointjs-and-dagre.html .
3) 一般来说,这并不容易。我建议您访问此站点以获取计算两条路径之间交集的示例:http://www.kevlindev.com/geometry/2D/intersections/intersect_bezier2_bezier2.svg .这是可供下载的库:http://www.kevlindev.com/gui/math/intersection/index.htm
关于javascript - 在jointjs中制作元素 'not selectable',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22023770/