http://jsfiddle.net/taoist/fsmX7/
在上面的代码示例中,我希望 .textDivContainer 的默认状态不可拖动。然后,当用户单击绿色按钮时,我希望编辑器关闭(它确实如此)并且我希望 .textDivContainer可以拖动。然后,一旦用户再次单击该按钮,编辑器将打开,并且 div 将不可拖动,因此创建了一个切换开关。就目前而言,这是行不通的。
但是,我确实使用默认的 JQuery 可拖动方法使其在没有JsPlumb 的情况下工作。这可以在下面看到。
下面的 Non-JSPlumb JSfiddle 中的 Draggable 方法通过使用名为“enable”和“disable”的 2 个不同的属性值来完成此操作。这些似乎不适用于 JSPlumb 。我试图将这两个属性与 JSplumb 一起使用,但无济于事。它们可能会起作用,但如果是这样,我不知道如何实现它们。
下面是迄今为止的最终 JSFiddle,它是一个半工作的 JSplumb 版本。这使用类交换来实现可拖动功能。它默认为不可拖动,当单击绿色按钮时,它变为可拖动的。但是,当第二次单击绿色按钮时,它不会停止可拖动。
http://jsfiddle.net/taoist/fsmX7/1/
$(document).ready(function() {
jsPlumb.bind("ready", function() {
var dragToggle = null ;
$(".textButton1"). mousedown(function(){
if (dragToggle===null){
dragToggle = '.textDivContainer1';
}
else if (dragToggle === '.textDivContainer1'){
dragToggle=null;
}
console.log(dragToggle);
jsPlumb.draggable($(dragToggle), { snap: true});
});
});
});