javascript - 在jointjs中制作元素 'not selectable'

标签 javascript jointjs

我用过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/

相关文章:

javascript - 动态更新矩形的宽度和高度

javascript - 当用户单击按钮时链接应在框内打开时,iframe 显示为空白

javascript - 加载页面后运行 JavaScript

javascript - 使用for循环插入多维数组

javascript - JointJS - 鼠标点击事件触发单元格位置改变事件

javascript - 响应式联合js图

javascript - 是否可以将 JQuery include 与 Angular Includes 一起使用?

javascript - 当我在 firefox 浏览器下点击它时,contenteditable 会触发模糊事件

javascript - JointJS 在元素之间创建多个链接

javascript - 禁用鼠标悬停交互 JointJS 图