jsPlumb:拖动新连接应删除现有连接

2023-12-28

使用 jsPlumb,我设法进行了以下设置:

  • 有多个节点,其作用类似于特殊类型流程图中的节点。
  • 每个节点都有一个可以将连接丢弃到的目标。
  • 每个节点都有零个、一个或多个出口。每个出口作为jsPlumb源,最多允许有1个连接。

先举个小例子:http://fiddle.darkspot.ch/ivr/flowchart/ivrplumb.html http://fiddle.darkspot.ch/ivr/flowchart/ivrplumb.html(经过一个小时的尝试,不幸的是我没有让它在 jsFiddle 上运行 - 所以我自己托管它)

我想要实现的是: 如果用户将新连接从出口拖动到另一个节点,则应按预期建立该连接。但该出口上的所有其他连接都应删除。

我尝试了不同的方法:

  • 有一个click听众 http://jsplumbtoolkit.com/doc/events#evt-connection(链接到 jsPlumb 文档)每个退出气泡。不起作用 -> 无论我尝试什么,该事件都不会被触发。
  • 有实例connection听众 http://jsplumbtoolkit.com/doc/events#endpointEvents。我想我可以从端点中获取现有连接info我收到的对象。边看例子边打开控制台,你会发现它总是1,无论有多少个连接。
  • 限制maxConnections为了makeSource(...)拨电至1。这实际上可行,但用户无法拖动另一个连接来替换第一个连接。

重现步骤:

  1. 将鼠标移至橙色方块之一,单击并将连接拖动到另一个节点。 (应建立连接)
  2. 打开浏览器的 JavaScript 控制台
  3. 将鼠标移动到同一个方块,然后单击/拖动另一个连接到同一个或另一个目标节点。 (第二个连接应该建立。观察控制台打印Number of connections:1。这应该是2 here)

我究竟做错了什么?


在建立新连接之前,检查源是否已经有传出连接,如果有则删除它。假设退出元素有exit class:

jsPlumb.bind('beforeDrop', function(ci){ // Before new connection is created
    var src=ci.sourceId;
    var con=jsPlumb.getConnections({source:src}); // Get all source el. connection(s) except the new connection which is being established 
    if(con.length!=0 && $('#'+src).hasClass('exit')){
        for(var i=0;i<con.length;i++){
            jsPlumb.detach(con[i]);
        }
    }
    return true; // true for establishing new connection
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jsPlumb:拖动新连接应删除现有连接 的相关文章

  • Facebook 自定义故事与大图像 - 使用 Javascript 打开图

    我正在尝试创建一个自定义故事 每次有人尝试发布它时都会有一个新图像 现在我创建了一个对象 以及将两者结合起来的动作和故事 我想要实现的是一个看起来像这样的故事https fbcdn dragon a akamaihd net hphotos
  • React Native TypeError:无法读取未定义的属性“createClient”

    我是 React 本机框架的新手 我使用 create react native app AwesomeProject 创建了应用程序 我想在我的项目中使用 BLE 因此我安装了 react native ble plx 模块 但是当我创建
  • Chrome 开发工具:无需切换到“源”选项卡即可进入调试器

    如果我把debugger https developer mozilla org en US docs JavaScript Reference Statements debugger当 Chrome 开发工具打开时 我的 JavaScri
  • 三.js环境光意想不到的效果

    在下面的代码中 我渲染了一些立方体并使用点光源和环境光照亮它们 然而 当设置为 0xffffff 时 AmbientLight 会将侧面的颜色更改为白色 无论其指定的颜色如何 奇怪的是 点光源按预期工作 我怎样才能使环境光表现得像点光 因为
  • 将字符串(是一个函数)转换回 Javascript 中的函数

    我在下面将此函数作为字符串 我如何将其转换回函数 我正在从 JQuery 事件中提取事件处理程序 我想将它们存储为字符串 然后将它们转换回来 因为它们将保存在 mySQL 中 function if GActiveClick return
  • jQuery UI 可排序和对话

    是否可以在两个列表之间拖动 jQuery UI 可排序列表项 其中一个在 jQuery UI 对话框中 另一个不在 jQuery UI 对话框中 我正在尝试创建一个对话框 用户可以将表单字段从对话框中拖到页面上的表单中 但我无法将项目拖出对
  • IE8 中空 div 层的 z-index 问题

    我在 IE8 中遇到 z index 问题 其他尚未测试 以下 JS 创建一些 html css document write img src border 0 document write div style background col
  • 在 JQuery ui 自动完成中显示图像

    我有一个带有 JQuery ui 自动完成功能的脚本 可以完美运行 有一个显示用户名字和姓氏的搜索过程 但在我的数据库中 还有用户的图片 我想将其显示在带有名字和姓氏的建议中 数据库中pic包含图片url 剧本 function searc
  • 动态更改 vuejs 2 中的选择输入选项

    如何动态更改选择下拉 v model 中的选项 我有 2 个选择输入 其中一个应该根据其他输入进行更改 例如 如果我选择 水果 则选择显示水果 如果我选择 蔬菜 则选择显示蔬菜 我不使用Vuejs 但查看文档后 var TypesArr F
  • Angularjs - 将 True/False 显示为 Yes/No

    有没有一种简单的方法可以将真 假值显示为是 否 我正在从数据库检索包含以下内容的 JSON 对象 对象 WithCertification true 这是 HTML 有认证 elem WithCertification 正在显示这个 认证真
  • Gmail 和 Google Chrome 12+ 中的“从剪贴板粘贴图像”功能如何工作?

    我注意到一个来自 Google 的博文 http gmailblog blogspot com 2011 06 pasting images into messages just got html其中提到 如果您使用的是最新版本的 Chro
  • 如何更改元素的 CSS 类并在单击时删除所有其他类

    我如何处理 AngularJS 2 中的一种情况 即单击一个元素需要更改其自己的样式 并且如果其他元素具有该样式 则需要将其删除 最好在一个函数中 如同Angular js 如何在单击时更改元素 css 类并删除所有其他元素 https s
  • Onblur 事件在另一个 div 的 onclick 之前触发

    如上所述 我有一个按钮 单击该按钮将打开子菜单 对于子菜单中的每个选项 都有三个元素 我认为实际上还有更多元素 但为了简单起见 将其保留为 3 我将焦点放在子菜单的主 div 白色 框架 上 Onblur 这个 div 然后我隐藏子菜单 这
  • JavaScript 中的最短路径

    几周来我一直在寻找一种在 JavaScript 中计算最短路径的方法 我一直在玩书数据结构和算法作者 格罗纳 Groner 名字恰如其分 https github com loiane javascript datastructs algo
  • 如何在具有现有记录的 json 数据表顶部添加新行

    我试图在数据表顶部添加一行 显示 金额 列的总和 我正在使用 json 数据表 jquery 插件 列表来显示数据表 如何将此行与现有行一起添加到数据表顶部 我认为这段代码会对你有所帮助 var json uid user123 first
  • SlickGrid 回调onRowSelect?

    我想在用户选择表中的一行时添加回调 但我不知道该怎么做 这是我到目前为止所拥有的
  • 什么是 TinyMCE jQuery 包?

    我被要求在项目中使用 TinyMCE 编辑器 在下载页面上 有一个主包 然后是一个 jQuery 包 This package contains special jQuery build of TinyMCE and a jQuery in
  • 使用 javascript/jquery 从数据库格式化日期的正确方法

    我正在调用包含日期时间数据类型的数据库 日期看起来像这样 2005 05 23 16 06 00 000 当用户从列表中选择某个项目时 我想在表格中显示它 我调用我的控制器操作并返回所有时间的 Json 并将它们放入表中 问题是日期完全错误
  • 角度 4 单击按钮功能未触发

    我正在尝试检查文本输入是否为空或不在角度 4 中 我没有为此使用表单 这只是一个输入字段 当我在下面的按钮中执行 addLocaton 函数时 需要进行检查 我的输入字段
  • 如何调试 Node.js 应用程序?

    如何调试 Node js 服务器应用程序 现在我主要使用警报调试打印语句如下 sys puts sys inspect someVariable 一定有更好的调试方法 我知道谷歌浏览器 http en wikipedia org wiki

随机推荐

  • SQL Server 中有用的系统存储过程

    我最近发现我可以使用sp help获得表定义并从那时起就一直迷恋它 在我发现之前 我必须在 SQL Management studio 中打开对象资源管理器 手动搜索表名称 右键单击表并选择设计 那真是费了很大的力气 你们都使用了哪些其他无
  • 通用类型转换方法(.Net)

    我正在尝试创建一个通用方法来投射对象 但似乎无法破解这个栗子 今天是周五下午 3 点 这是漫长的一周 好的 所以我有这样的场景 We have a value which net sets as a double by default ob
  • 创建新的远程分支时出现有趣的引用名称错误

    所以我在 github 上建立了一个项目 一切都很顺利 现在我想创建一个新分支 这是我所做的 创建了一个新的本地分支机构 将新分支推送到github 问题是这样的 在推送到遥控器期间 我收到此错误 Repository ssh email
  • Highcharts:隐藏和显示图例

    我希望能够在用户单击按钮时切换图表图例的可见性 我尝试过使用未记录的内容来隐藏图例destroy 方法 但是当我尝试重新渲染图例及其项目时 这些项目出现在图表的左上角而不是图例内 这些项目似乎也没有附加任何事件处理程序 单击项目不再切换系列
  • 重命名目录中列表中的单个文件

    请原谅我的编程无知 这就是你们天才存在的原因 我想通过计划任务每 30 分钟重命名一个文件 文件列表 测试1 txt 测试2 txt 测试3 txt 等等 进入 测试 txt 测试2 txt 文本3 txt 等等 test txt 将被程序
  • 乌克兰语字母的正则表达式。如何用大写字母分隔西里尔字母?

    我有一个字符串 里面有一些西里尔字母 每个都以大写字母开头 var str 我找到了这个解决方案str match g 但它让我回归 代替 似乎它不能识别乌克兰字母 只能识别俄语 那么 我该如何更改该正则表达式以包含乌克兰字母 不是西里尔字
  • 如果列内的值非空,则在 pandas 中创建一个新的派生列

    我的输入数据是这样的 SL NO Name 1 KING BATA 2 3 4 AGS 5 FORMULA GROWTH 6 7 Bag Output SL NO Name Value 1 KING BATA Present 2 Not P
  • 数组或切片的多重赋值

    在 Go 中是否可以将数组解包为多个变量 就像在 Python 中一样 例如 var arr 4 string 4 string X Y Z W x y z w arr 我发现 Go 不支持这个 我可以做些什么来避免写作x y z w ar
  • 如何在 Linux 上的 java 应用程序中使用数字键盘箭头

    数字键盘上的箭头键不适用于 Linux 上的 Java 应用程序 奇怪的是 Home End PgUp PgDn Ins Del 都可以工作 当使用 Intellij 进行编程时 这一点尤其令人烦恼 如何让箭头键发挥作用 IntelliJ
  • ReactJS 应用程序的集成/验收测试

    我已阅读有关 Jest 的文档 然而 这似乎意味着对各个组件进行单元测试 如何测试组件的集成 或者验收测试使用 React JS 使用 Flux 编写的 Web 应用程序的一项功能 例如 测试电子商务 React 应用程序中的结账流程 用户
  • 如何使用带有 groovy 闭包的构造函数参数实例化 Java 抽象类

    我正在尝试从我的 Groovy 代码实例化一个 Java 抽象类 考虑以下 Java 抽象类 从类中剥离非相关处理 public abstract class StackOverflow public abstract String ans
  • 存储调查数据的最佳方式?

    我正在开发一个非常小的调查应用程序 可能有 3 4 页的 Web 应用程序 所以我的问题是保存调查数据的最佳方法是什么 顺便说一句 到目前为止我已经想出了以下方法 保存到数据库并将每个调查标记为不完整 当用户提交最后一份调查表格时 检查调查
  • 收集信用卡信息 - 并非收取付款

    我正在 Linux 服务器上使用 PHP 和 MySQL 进行工作 我有一个要求 我试图说服他们 从用户那里收集信用卡信息 以便我们公司可以使用卡号来保留酒店房间参加会议 我们根本不会自己给卡充值 而是将其发送到酒店 然后 我需要能够下载
  • 参数的默认值在 SSRS 2008 R2 中不起作用

    我有一个报告 BIDS SSRS 2008 R2 其中有一个参数 允许用户从列表 比如说销售区域 中选择多个值 不过 由于列表很长 大约有 15 个可能的值 我希望默认选择最常用的 2 个值 我在 参数属性 gt gt 默认值 对话框中进行
  • C# 通过句柄 (hWnd) 32 和 64 位获取路径/文件名

    我得到以下代码来通过句柄获取路径 文件名 DllImport user32 dll CharSet CharSet Auto SetLastError true private static extern int GetWindowThre
  • 用于具有 REST API 身份验证的 WebRTC 的 TURN 服务器

    我正在尝试为 webRTC 设置 rfc5766 turn server TURN 服务器here https code google com p rfc5766 turn server 我能够使用 TURN 服务器成功转发我的视频turn
  • Django 验证 ImageField 尺寸等

    我有一个自定义的清洁方法如下 def clean image self image self cleaned data image if image from django core files images import get imag
  • 没有找到现成的 kinect?

    我是 Kinect 编程的初学者 我已经安装了windows sdk 我尝试在开发人员中运行示例 然而 它说 没有找到准备好的kinect 我知道知道为什么 有人能帮我解决这个问题吗 多谢 Yuanhui 我也是初学者 其实我昨天刚拿到ki
  • ServiceStack“新”api 和异步等待

    服务堆栈版本 3 我很熟悉https github com ServiceStack ServiceStack wiki New API https github com ServiceStack ServiceStack wiki New
  • jsPlumb:拖动新连接应删除现有连接

    使用 jsPlumb 我设法进行了以下设置 有多个节点 其作用类似于特殊类型流程图中的节点 每个节点都有一个可以将连接丢弃到的目标 每个节点都有零个 一个或多个出口 每个出口作为jsPlumb源 最多允许有1个连接 先举个小例子 http