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

无法将映像设置为jsPlumbendpoint

许鸿志
2023-03-14

我在我的项目中使用jsPlumb库,我有一个函数,如果endpoint图像连接,则会更改它们。当页面加载并且一切正常时,我调用它,但是当我在连接事件中调用它时,什么都不会发生。这是我的代码:

function changeEndpointImage(){
            var elem = $('.tableBody');   //These are my connectable elements
            for(var i=0;i<elem.length;i++)
            {
                 var eps=jsPlumb.getEndpoints($(elem[i]));  //Getting endpoints for each of the connectable elements
                 for(var j=0;j<eps.length;j++)
                 {
                      if(eps[j].connections.length!=0)  //Checking if any of them have connections
                           eps[j].setImage("images/styled_radiobutton.png");  //Setting another image
                 }
            }
        }
jsPlumb.bind("connection", function(connection) {
     changeEndpointImage();

     //I have also tried this method commented below, but nothing.
     //connection.sourceEndpoint.setImage("images/styled_radiobutton.png");
     //connection.targetEndpoint.setImage("images/styled_radiobutton.png");

});

如果断开连接,我还尝试将endpoint图像更改回第一个外观,但在这种情况下,只有源endpoint更改,目标保持不变:

jsPlumb.bind("connectionDetached", function(connection) {
    connection.targetEndpoint.setImage("images/rsz_styled_radiobutton.png");
    connection.sourceEndpoint.setImage("images/rsz_styled_radiobutton.png");
});

我错过了什么,或者我如何解决这个问题?

编辑:这里是JSFIDLE:

https://jsfiddle.net/vaxobasilidze/cg3hkde7/

将几个项目拖动到右侧div,按“添加新链接”并尝试附加分离连接。您将看到endpoint不会更改。

共有1个答案

马魁
2023-03-14

我在jsPlumb谷歌集团找到了一个解决方案。我已经将endpoint设置为空白而不是图像,添加了cssClass:'myClass'属性,然后设置了.myClass{background:url(…)}。这就是我想要的,因为连接的endpoint得到了额外的类'jsplump-endpoint-connected',我可以设置另一个图像作为这个类的背景。

 类似资料:
  • 无法生成本机映像:未设置GRAALVM_HOME(MacOsx) 我已经设置了类路径,运行set命令会得到graalvm_home=/library/java/javavirtualmachines/graalvm-ce-19.0.0/contents/home。java-version指向OpenJDK GraalVM CE 19.0.0.. 我希望能成功地建立起Quarkus的原生图像

  • null 那个代码有什么问题?我不明白为什么不能将ImageRi发送到ImageView。我还验证了我正在传递给setImageURI函数的Uri值是正确的。

  • 问题内容: 我试图从我的xml中将按钮的文本设置为“ <<<”,但出现“错误:(20)解析XML时出错:格式不正确(无效令牌)” 因此,我跳到我的strings.xml并在其中输入它,这显然行不通。 有没有解决方法? 问题答案: 这些是html实体,也可以在android studio中使用:

  • 问题内容: 用户声明: 模式声明: UserPatternDeclaration: 请求数据库: 我得到以下异常: 请帮助解决此问题。 错误消息看起来非常非常奇怪。 我已阅读相关主题的点击,但未找到答案。 ps hibernate日志(异常之前): 在浏览器中,我看到以下消息: 问题答案: 如果将HQL查询更改为会怎样? 我认为Hibernate混淆了对象和ID字段。

  • 问题内容: 为什么会出现错误或未捕获的TypeError:无法将属性’innerHTML’设置为null?我以为我了解innerHTML并在以前使用过。 问题答案: 您必须将div放在脚本之前,以便在加载脚本时该div存在。

  • 我有一个类,它有一个属性Start,类型为DateTime。 我试图做的是将ClosedPlatform实例的Start属性绑定到datetime local类型的输入。同时,我发现datetime本地输入在默认情况下不显示datetime秒,所以我试图强制它显示Start的秒值。 我设法设置了输入,使其几乎正常工作。设置似乎是在线获取日期时间本地输入以显示秒的常见建议,确实如此。然而,我的问题是