gpt4 book ai didi

jquery - 如何从 JSPlumb 中的组中删除项目?

转载 作者:行者123 更新时间:2023-12-03 22:34:14 27 4
gpt4 key购买 nike

使用 JSPlumb,我希望能够将元素拖入组中,在组中使用它们,然后再次将它们拖出组。我的代码正确创建了一个组,我可以将项目拖入其中,正确移动该组,但该项目保留在组内,我无法再次将其拖出......有什么想法吗?

(1)DIV设置

<div id="flowchartBox">

<div id="group1" class="groupBox" style="top:10px; left:300px"></div>
<br/>
<div id="shape1" class="shape" style="top:10px; left:5px"></div>
<div id="shape2" class="shape" style="top:10px; left:80px"></div>

<div id="shape3" class="shape" style="top:200px; left:80px"></div>

</div>

(2) JSPlumb 的 Javascript:

jsPlumb.ready(function() {

jsPlumb.draggable($(".shape"), {containment:"parent"});

jsPlumb.addGroup({
el:group1,
id:"g1",
droppable:true,
// constrain: false,
//revert: false
orphan: true
//prune:true
});


});

正如您从注释代码中看到的,我已经尝试过 the jsplumb community docs 中的其他选项,应该有帮助,但他们似乎没有......

最佳答案

我怀疑问题是你需要设置 container让 JSPlumb 检测到某个项目已被删除到其组之外。

也许与此演示进行比较将有助于诊断问题(全屏运行是值得的)。

每次添加或删除项目时,代码都会在浏览器控制台中记录,并记录组中剩余项目的计数。

jsPlumb.setContainer($("body"));

jsPlumb.ready(function() {

jsPlumb.draggable($(".shape"));

jsPlumb.addGroup({
el: group1,
id: "g1",
//droppable: true,
//constrain: false,
//revert: false
orphan: true,
//prune:true
});

});

jsPlumb.bind("group:addMember", function(p) {
var grp = jsPlumb.getGroup("g1");
console.log("Group", p.group.id, "added", p.el.id, "for a total of", grp.getMembers().length, "members.");
});

jsPlumb.bind("group:removeMember", function(p) {
var grp = jsPlumb.getGroup("g1");
console.log("Group", p.group.id, "removed", p.el.id, "for a total of", grp.getMembers().length, "members.");
});
#group1 {
background-color: gold;
height: 100px;
}

.shape {
text-align: center;
position: absolute;
background-color: whitesmoke;
width: 50px;
height: 50px;
padding: 0.5em;
float: left;
margin: 10px 10px 10px 0;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.9.2/jquery-ui.min.js"></script>
<script src="https://jsplumbtoolkit.com/lib/jsplumb.min.js"></script>

<div id="flowchartBox">
<div id="group1" class="groupBox">Group Box 1</div>
<div id="shape1" class="shape" style="top:110px; left:20px">Shape 1</div>
<div id="shape2" class="shape" style="top:110px; left:100px">Shape 2</div>
<div id="shape3" class="shape" style="top:110px; left:180px">Shape 3</div>
</div>

关于jquery - 如何从 JSPlumb 中的组中删除项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43836170/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com