Я хочу реализовать картографическое приложение с перетаскиваемыми элементами. Я использовал следующий код, но когда установлено перетаскивание, элемент div не перетаскивается, перетаскивается только якорь. Что мне не хватает?
<style>
.dd{
width:60px;
height:60px;
border:1px solid red;
position:relative;
}
</style>
<div class="container">
<div id="window3" class="dd" style="margin-left:50px;margin-top:100px"></div>
<div id="window4" class="dd" style="margin-left:400px;margin-top:100px"></div>
</div>
<script>
jsPlumb.ready(function () {
//
jsPlumb.draggable($(".dd"));
var endpointOptions = {
isSource: true,
isTarget: true,
endpoint: ["Dot", {
radius: 10
}],
style: {
fillStyle: 'blue'
},
maxConnections: -1,
connector: "Straight",
connectorStyle: {
lineWidth: 3,
strokeStyle: 'black'
},
scope: "blackline",
dropOptions: {
drop: function (e, ui) {
alert('drop!');
}
}
};
var window3Endpoint = jsPlumb.addEndpoint('window3', {
anchor: "Right"
}, endpointOptions);
var window4Endpoint = jsPlumb.addEndpoint('window4', {
anchor: "Left"
}, endpointOptions);
});
</script>
использование jQuery draggable позволяет перетаскивать div, но тогда привязки становятся отсоединенными.
Итак, два варианта
- Используйте $(.dr).draggable() и найдите способ привязать якоря к div
- Сделайте div перетаскиваемым в jsPlumb.draggable()
Или мой подход совершенно неверен?
ОБНОВЛЕНИЕ: я установил позицию CSS как абсолютную в div, и теперь div можно перетаскивать, но привязка по-прежнему ошибочна.