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

jsPlumb删除元素的连接

通博实
2023-03-14

我正在处理一个管道问题。当我试图以编程方式删除所有元素连接时,我得到了未捕获的TypeError:无法读取未定义的属性“left”

我有几个节点(html元素),每个都有1个输入endpoint(接受的终端)和n个输出endpoint。每个节点后面还有一个javascript对象。我的软件中有一个“选定”状态。用户可以选择多个节点,并将对象推送到一个称为选择的数组。我有一个删除键的键侦听器。当按下该键时,它会循环遍历选定的节点,删除它们并删除它们的endpoint。当没有连接时,这很有效,但是当有连接时,我会出错。

输出endpoint附加到主节点的子HTML元素…

有很多代码在做很多事情,但我将尝试分享相关部分:

 function Node(jsonFromServer){
      /* … this is the constructor method… some code omitted*/
     this.endpoints = [];
     this.endpoints.push(jsPlumb.addEndpoint(this.el.attr("id"),targetEndpoint,{anchor:"TopCenter",uuid: this.el.attr("id") + "TopCenter"}));
     this.addConnectionEndpoints();
 }

Node.prototype.addConnectionEndPoints = function(){
    //omitting code… loops through 'connections' that don't have 'has endpoint' marked….
    this.endpoints.push(jsPlumb.addEndpoint(connection['el'].attr("id"),sourceEndpoint,{anchor:"RightMiddle",uuid:connection['el'].attr("id")+"RightMiddle"}));
    connection.hasEndPoint = true;
}

这就是设置。我是这样删除的

when key pressed
    If key is delete /* all this stuff works */
        loop through selected array (the array of selected Node elements:works)
            node.el.hide(250).remove();
            loop through node's endpoints array
                 //endpoint is the correct object... proved with console.log
                 //the following line is the error
                 jsPlumb.deleteEndpoint(endpoint); 
            ajax call to server to delete stuff on the backend

共有1个答案

仇炜
2023-03-14

修好了!当我说node.el.hide(250.remove()时;我删除了删除过程中需要的html元素。我将remove部分移动到ajax请求的回调中,它就像一个符咒。

 类似资料:
  • 我正在使用jsPlumb创建一个包含两列的匹配小部件。 jsPlumb实例创建为: 我创建了源和目标,如下所示: 连接过程正常工作。但是在建立一个连接后的问题如果我删除连接,连接endpoint仍然可见。 我尝试添加配置“\u deleteondetch”,还尝试删除connectiondeach上的endpoint。在这两种情况下,endpoint都被删除,但在我尝试连接相同的元素时,它会出错。

  • 我正在使用jsplumb,但是我无法删除两个只有一个div的id的div之间的连接。

  • 使用jsPlumb,我成功地进行了以下设置: 有多个节点与特殊类型流程图中的节点类似。 先举个小例子:http://fiddle.darkspot.ch/ivr/flowchart/ivrplumb.html (经过一个小时的尝试,不幸的是我没有让它在JSFIDLE上运行——所以我自己主持了它) 我想要实现的是:如果用户将新连接从一个出口拖到另一个节点,那么应该按照预期建立连接。但是应该删除此出口

  • 问题内容: 我想从JSON中删除JSON元素或整行。 我有以下JSON字符串: 问题答案: 您可以使用splice从数组中删除元素。

  • 主要内容:删除元素/内容,jQuery remove() 方法,实例,jQuery empty() 方法,实例,过滤被删除的元素,实例通过 jQuery,可以很容易地删除已有的 HTML 元素。 删除元素/内容 如需删除元素和内容,一般可使用以下两个 jQuery 方法: remove() - 删除被选元素(及其子元素) empty() - 从被选元素中删除子元素 jQuery remove() 方法 jQuery remove() 方法删除被选元素及其子元素。 实例 $("#div1").re

  • 主要内容:JavaTuples 删除元素的方法,JavaTuples 删除元素的示例JavaTuples 删除元素的方法 元组包含 removeAtX() 方法来删​​除特定索引处的值。例如 Triplet 类具有以下方法。 removeAt0() : 删除索引 0 处的值并返回结果元组。 removeAt1() : 删除索引 1 处的值并返回结果元组。 removeAt2() : 删除索引 2 处的值并返回结果元组。 删除一个元素会返回一个新的元组。 JavaTuples 删除