当前位置: 首页 > 知识库问答 >
问题:

jsPlumbendpoint可见:false?

通俊发
2023-03-14

我有一个动态生成的流程图与jsPlumb。我将它保存到MySQL数据库,我需要一个不同的视图,没有任何编辑功能。

我知道如何删除所有部分,使它们不可编辑,但它总是显示连接点(左,右,顶部,底部)

如何使它们不可见,以便在没有连接点的情况下只看到连接器/箭头?

sourceEndpoint = {
    endpoint:["Rectangle",{ width:1, height:1}],
    paintStyle:{ 
        fillStyle:"#db0013",
    },
    maxConnections:999,     
    isSource:false,
    isTarget:false,         
    connector:[ "Flowchart", { stub:[10, 25], gap:0, cornerRadius:0, alwaysRespectStubs:false } ],                                              
    connectorStyle:connectorPaintStyle,
    hoverPaintStyle:endpointHoverStyle,
    connectorHoverStyle:connectorHoverStyle,
    dragOptions:{}       
    },  

宽度和高度为1的矩形使其非常小,但仍然可见。如何使其不可见?:)

thx so fa

xQp

共有3个答案

章琛
2023-03-14

在当前版本中,有连接和终结点的选择方法,

返回值是一个对象,它支持可以在endpoint上执行的大多数操作

请参见此处的文档:http://jsplumb.github.io/jsplumb/querying.html#selectEndpoints

例如,隐藏所有endpoint:

jsPlumb.selectEndpoints().setVisible(false);
冯通
2023-03-14

由于没有获取所有endpoint的函数,因此您需要获取具有endpoint的所有元素,然后对于单个元素的每个endpoint,您需要将其设置为可见为false:

var elem = $('.havingEndpoint'); // get elements having endpoint based on its class

for(var i=0;i<elem.length;i++)   // for all elements having endpoints iterate
{
     var eps=jsPlumb.getEndpoints($(elem[i]));  //get all endpoints of element
     for(var j=0;j<eps.length;j++)
     {
          eps[j].setVisible(false);   // Set visibility of endpoint to false
     }
 }

有关更多信息,请参阅API文档:

-

-

谢英耀
2023-03-14

还有两种方法:

>

  • 使用空白endpoint类型。它不会绘制任何用户可见的内容。

    将cssClass添加到sourceEndpoint选项

    sourceEndpoint = {
    ... other options ...
        cssClass: 'source-endpoint'
    }
    

    和css样式

    .source-endpoint svg * {
        fill: transparent;
        stroke: transparent;
    }
    

  •  类似资料:
    • 我想简单地通过单击按钮添加新节点(我有jsPlumb源代码endpoint在拖动源代码容器时不会移动,我已经尝试了建议的答案,但仍然不适用于我)。 不幸的是,当我拖动新节点时,endpoint(应该坚持覆盖)没有更新它的位置。endpoint将在我鼠标悬停endpoint后更新它的位置。 这是小提琴 '$('#addNode')。单击(函数(e){var newAgent = $('').attr

    • 本文向大家介绍knockout.js 可见,包括了knockout.js 可见的使用技巧和注意事项,需要的朋友参考一下 示例 可用于显示/隐藏DOM元素。与using类似if,不同之处在于visible仍然可以构建element和set display:none。            

    • 我在我的项目中使用jsPlumb库,我有一个函数,如果endpoint图像连接,则会更改它们。当页面加载并且一切正常时,我调用它,但是当我在连接事件中调用它时,什么都不会发生。这是我的代码: 如果断开连接,我还尝试将endpoint图像更改回第一个外观,但在这种情况下,只有源endpoint更改,目标保持不变: 我错过了什么,或者我如何解决这个问题? 编辑:这里是JSFIDLE: https://

    • 问题内容: 我想为表格视图实现自定义滚动功能。因此,需要访问可见的行和单元格。 如何检测JavaFX tableview中的可见单元格和行?我在tableview的API描述中未找到任何有关此的信息。 谢谢 问题答案: 尝试在TableView中滚动到所需的行。我已经尝试过使用table.scrollTo(index),但是它无法正确滚动,因为它将所需的行设置为第一个可见行。 我已经在控制器上编写

    • 当<code>JPanel</code>设置为不可见时,它是否仍然“可触摸”?在我的框架上有一个<code>JPanel</code>,面板上有按钮。如果我将面板设置为不可见,如果我按下按钮所在的位置(如果它可见),该按钮是否仍然有效? 我要求更好地理解,而不是实际上试图实现上面所说的内容。

    • 名为visibility的属性允许您隐藏视图中的元素。 您可以将此属性与JavaScript一起使用,以创建非常复杂的菜单和非常复杂的网页布局。 您可以选择使用visibility属性来隐藏仅在用户需要查看时显示的错误消息,或隐藏测验的答案,直到用户选择一个选项。 NOTE - 请记住,源代码仍将包含隐藏段落中的内容,因此您不应使用此代码隐藏敏感信息,如信用卡详细信息或密码。 visibility