JQuery / JsPlumb:切换 "hidden/visible" 带有从隐藏开始的复选框的锚点

JQuery / JsPlumb: toggle "hidden/visible" anchor with checkbox starting from Hidden

我用 JsPlumb 库写了一些东西。

我得到了三个开始使用的元素

`display:none;` 

然后我使用典型的 Jquery 代码使它们看起来标记了一个复选框:

input type="checkbox" id="nameCB" name="nameCB" value="on"

$('#nameCB').click(function(){
    this.checked?$('#elementID').show(1000):$('#elementID').hide(1000);

我的问题是如果我为这些元素之一设置锚点:

jsPlumb.addEndpoint('elementID', {anchor:"BottomCenter" }, endpointOptions );

锚点(默认情况下为灰色圆圈)始终可见。 我想让它仅在它连接的元素可见时才可见。

更新:

I solved creating a connection only when the checkbox is flagged an detaching it otherwise: 

$('#ckFI').click(function(){
    this.checked?$('#firenze').show(1000):$('#BBB').hide(1000);
    this.checked?apparizione():scomparsa(); 
 });
function apparizione() {
    jsPlumb.connect({
  source:"AAA", 
  target:"BBB",
  anchors:["Top", "Bottom" ],
});
}
function scomparsa() {
    jsPlumb.detach({source:"AAA", target:"BBB"});
}

你没有提到你的 endpointOptions 中指定的内容,所以我将继续并建议将你的选项修改为如下内容:["Dot", { radius: 1, cssClass: 'hidden' }],其中 hidden 可以是 class display:none;。您甚至可以为端点类型指定 "Blank" 以使其隐藏(我没有尝试过后者,但在文档中提到了它)。

稍后在连接项目时,您可以选择显示连接的端点 (一种方法是使用 jsPlumb.getEndpoints(element),它将为您提供指定元素的端点列表。如果需要检查端点是否有连接,您可以导航到连接属性)。这通常取决于您的实施。

希望对您有所帮助!

P.s.: 您目前使用的是哪个版本的jsPlumb?