JsPlumb сенсорный экран

0

У меня есть приложение, использующее JsPlumb Framework. Он отлично работает на рабочем столе, однако при использовании сенсорного устройства он не работает правильно.

У меня есть объект, который можно перетаскивать по экрану, это отлично работает как на сенсорном устройстве, так и на рабочем столе. Однако у меня также есть действие, которое, когда пользователь нажимает на устройство, может установить соединитель для перетаскивания строки на другой объект, чтобы объединить их. Однако на сенсорных устройствах не удается установить разъем.

Сенсорное устройство будет нарисовать значок, но он отобразится сразу. Это до того, как сенсорное устройство не может определить разницу между опцией drag/touch.

Я добавил код, чтобы узнать, связано ли это с моим кодом.

$("#container").append(state)
jsPlumb.draggable("state" + i);

jsPlumb.makeSource($('.item'), {
   connector: 'StateMachine',
});
jsPlumb.makeTarget($('.item'), {
   anchor: 'Continuous',
   reattach:true,
   isTarget:true,
   beforeDrop:function(params) {
      'Some code'
  }
});

РЕДАКТИРОВАТЬ

JSFiddle

http://jsfiddle.net/8jMqG/6/

ИЗМЕНИТЬ СНОВА

Из документов показано следующее:

Совет. Используйте метод addEndpoint с тремя аргументами для общих данных. Одна вещь, которая случается довольно часто, заключается в том, что у вас есть конечная точка, внешний вид и поведение которой в основном одинаковы между обычаями для разных элементов, с несколькими отличиями.

var exampleGreyEndpointOptions = {
   endpoint:"Rectangle",
   paintStyle:{ width:25, height:21, fillStyle:'#666' },
   isSource:true,
   connectorStyle : { strokeStyle:"#666" },
   isTarget:true

};

Это то, что я делаю на jsfiddle.

Спасибо, Джеймс

Теги:
jsplumb

1 ответ

1

Я уже давно использую jsPlumb. Мое приложение работает как на настольном, так и на мобильном. Конечно, разница между кликом и касанием.

Я использую jquery-ui-touchpunch для поддержки мобильных устройств; щелчок, перетаскивание объектов/соединений и создание соединений работает на мобильных устройствах.

http://touchpunch.furf.com/

Обновить

После создания конечных точек или создания определенных элементов source & target, следующий шаг - присоединиться к ним для отображения соединения. Конечно, если единственная цель - просто подключиться, вы можете пропустить создание конечных точек/источников/целей и напрямую присоединиться к ним, используя

jsPlumb.connect({
    source:"element1", 
    target:"element2",
    anchors:["Right", "Left" ],
    endpoint:"Rectangle",
    endpointStyle:{ fillStyle: "yellow" }
});

DOCS

В настоящее время вы пытаетесь создать один и тот же элемент .item как source, так и target. Кроме того, вы пытаетесь сделать те же элементы source и target с каждым щелчком (событием). Зачем это повторять?

APIDOCS

Я предполагаю, что есть некоторая путаница в том, что вам нужно и что говорит код.

  • 0
    Не работает - я могу перетащить элемент по экрану, просто не могу добавить коннектор к объекту.
  • 0
    Странно, если он работает на настольном компьютере, то использование touchpunch должно заставить его работать на мобильном телефоне. Вы можете создать скрипку?
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню