У меня есть два небольших зеленых div
s внутри моего холста. Это может быть сопротивление в пределах холста с идентификатором myid_templates_editor_canvas
, с использованием кода ниже:Набор элементов контейнера линии jsPlumb
myid_templates_editor_make_draggable('div1');
myid_templates_editor_make_draggable('div2');
// Make an element draggable within the canvas
function myid_templates_editor_make_draggable(id){
jQuery('#' + id).draggable({
cursor: 'move',
cursorAt: { top: 56, left: 56 },
containment: '#myid_templates_editor_canvas',
});
}
Смотрите изображения ниже:
Я сделал линия между двумя перетаскиваемыми divs с помощью jsPlumb.
var jsPlumb_instance = jsPlumb.getInstance();
var endpointOptions = {
anchor:'BottomCenter',
maxConnections:1,
endpoint:['Rectangle',{width:'0px', height:'0px' }],
paintStyle:{fillStyle:'black'},
connectorStyle : { lineWidth: '1px' , strokeStyle: 'black' },
connector : ['Straight'],
setDragAllowedWhenFull:true,
};
div1Endpoint = jsPlumb_instance.addEndpoint('div1', endpointOptions);
div2Endpoint = jsPlumb_instance.addEndpoint('div2', endpointOptions);
jsPlumb_instance.connect({
source:div1Endpoint,
target:div2Endpoint,
});
jsPlumb_instance.draggable('div1');
jsPlumb_instance.draggable('div2');
Я не хочу, чтобы линия была за пределами границы области. См. 3-е изображение.
Я хочу, чтобы линия, которая должна содержаться в полотне с идентификатором myid_templates_editor_canvas
.Увидь изображение ниже:
Я попытался изменить часть кода выше с кодом ниже, без везения.
jsPlumb_instance[id].draggable(id1, {containment:'#myid_templates_editor_canvas'});
jsPlumb_instance[id].draggable(id2 , {containment:'#myid_templates_editor_canvas'});
Да, две точки каким-то образом ограничена, так как длина линии максимального была ограничена, но до сих пор не выходит из границы canvas.Below является HTML настройки холста и двумя точками.
<table>
<tr>
<td>
<canvas id="myid_templates_editor_canvas"></canvas>
<div id="div1"></div>
<div id="div2"></div>
</td>
</tr>
</table>