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

javascript - jsPlumb的连线返回的sourceId或targetId不正确?

冷浩瀚
2024-06-06

点击我查看例子
使用jsplumb开发连接线条的功能,但是如果滚动条把当前连线的item滚到视线之外,然后获取线条数据,发现sourceId或者targetId不正确,请问如何解决?
正常是这样的:
异常是这样的:

共有1个答案

公孙志
2024-06-06

您遇到的这个问题可能是由于jsPlumb内部对元素的定位逻辑导致的。当DOM元素(包括jsPlumb连接的源或目标元素)滚动出视口时,jsPlumb可能无法正确识别或更新与这些元素相关的连接信息。

为了解决这个问题,您可以尝试以下步骤:

  1. 确保jsPlumb已正确更新: 确保在滚动事件或任何可能改变元素位置的操作后,调用jsPlumb的更新或重绘函数来刷新连接状态。jsPlumb提供了repaintrevalidate等函数,您可以在需要时调用它们。
  2. 监听滚动事件: 如果滚动事件是导致问题的原因,您可以通过监听滚动事件并在滚动发生时调用jsPlumb的更新函数来解决问题。例如,使用jQuery或原生JavaScript监听scroll事件。
  3. 使用jsPlumb的setContainer方法: 如果您在一个可滚动的容器中使用了jsPlumb,确保使用setContainer方法设置了正确的容器。这样jsPlumb就可以正确地计算位置,即使元素滚动出视口。
  4. 检查元素ID的稳定性: 确保在jsPlumb创建连接之前和之后,元素的ID没有发生变化。如果元素的ID在运行时发生变化,jsPlumb的连接数据可能会变得不准确。
  5. 查看jsPlumb文档和社区: jsPlumb的文档和社区论坛可能包含解决类似问题的信息或示例。您可以搜索相关的问题或发帖询问。
  6. 更新jsPlumb版本: 如果您使用的是较旧的jsPlumb版本,考虑更新到最新版本。新版本可能已经修复了您遇到的问题。

请注意,由于我无法直接访问您提供的链接或图片,我的回答是基于您描述的问题和jsPlumb的常见行为。如果以上建议不能解决您的问题,您可能需要进一步调试或提供更多的代码和上下文信息来寻求更具体的帮助。

 类似资料:
  • 我是jsPlumb的新手,我遇到了一个源和目标相同的连接问题。我必须禁止这些类型的连接,我认为最好的方法是:当我完成创建连接时,如果它具有相同的sourceId和targetId,则删除连接。我正在这样做: 连接被删除,但看起来源endpoint仍然存在,但是,如果我拖动该项目,点会停留在相同的地方,就好像它不再引用该项目一样,这是可以的,因为连接被删除了,但它不是好吧,因为那个点不应该在那里。

  • 问题内容: def size_of_dir(dirname): print(“Size of directory: “) print(os.path.getsize(dirname)) 是有问题的代码。dirname是一个目录,其中包含 130个 文件,每个文件约 1kb 。当我调用此函数时,它返回 4624 ,这 不是 目录的大小…为什么? 问题答案: 此值(4624B)代表的大小 文件 是 描

  • 我试图以编程方式建立一些连接。问题是,当绘制连接时,会创建新的endpoint,而现有endpoint不再可单击。我确实有拖动行为的endpoint。我无法让endpoint(由连接创建)具有与原始endpoint相同的属性。 我做了一个工作jsFiddle:http://jsfiddle.net/SCSaf/4/ 在下面的代码中,初始化容器并绘制连接 在公共变量中,我尝试将源endpoint(e

  • 我正在使用postgis计算两个地理坐标之间的距离。 它返回给我53536.743496517米,大约等于54公里,但实际距离是103公里,我通过http://boulter.com/gps/distance/ 我在询问中是否做错了什么?

  • 我正在尝试在代码中使用NSPredicate搜索名称。搜索工作正常,但不会返回适当的结果。当我搜索一个名称(例如“Colin”)时,它会返回表中的所有其他名称或另一个名称(例如“Mike”),但如果我输入一个不存在的随机字符串,它会返回:“找不到结果”。当我在搜索栏中键入一个名字(例如Lisa)时,我希望它能找到这个名字(Lisa)并返回它,但它没有这样做 这是我的代码: 自己name返回表中的所

  • 在cognito用户池中,我有两个不同的组:Admin 现在我想授权userpool中的用户。我正在关注这个链接-https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-authentication-flow.html -客户端身份验证流。但是“RespondToAuthChalleng

  • SourceID开源的联合身份认证管理.它提供了实现SAML,ID-FF和WS-Federation安全协议的工具包与项目.

  • 问题内容: 我刚遇到getResourceAsStream()一个非常奇怪的问题。 在我的产品项目JUnit测试中,我使用getResourceAsStream()读取测试数据,我发现getResourceAsStream()有时会替换一些字节: 在此项目中的输出如下所示: D0 9A D1 80 D0 B8 D0 BC D0 B8 D0 BD D0 B0 D0 BB D0 B8 D1 81 D1