Autor Zpráva
regvac
Profil *
Ahoj,
nevíte někdo, jak bych měl poupravit script této stránky,
www.dhtmlgoodies.com/scripts/drag-drop-quiz/drag-drop-quiz-d2.html
aby dragdrop fungoval i na tabletech a mobilech android? Chtěl bych něco obdobného použít v aplikaci, kterou mám jako webovku v javascriptu, kompilovanou do apk pomocí phonegap.

Zkoušel jsem pouze přidat pro všechny .onmouseup,.onmousemove,.onmousedown obdoby .touchend,.touchmove,.touchstart, ale nemá to žádný efekt.

Děkuji
regvac
Profil *
Ahoj,
tak jsem si našel řešení:
stackoverflow.com/questions/7531412/drag-and-drop-in-phonegap-android

$( init );

 function init() {
  document.addEventListener("touchstart", touchHandler, true);
  document.addEventListener("touchmove", touchHandler, true);
  document.addEventListener("touchend", touchHandler, true);
  document.addEventListener("touchcancel", touchHandler, true);   
  }
  function touchHandler(event)
  {
  var touches = event.changedTouches,
  first = touches[0],
  type = "";
  switch(event.type)
  {
  case "touchstart": type = "mousedown"; break;
  case "touchmove":  type="mousemove"; break;        
  case "touchend":   type="mouseup"; break;
  default: return;
  }
  var simulatedEvent = document.createEvent("MouseEvent");
   simulatedEvent.initMouseEvent(type, true, true, window, 1,
                      first.screenX, first.screenY,
                      first.clientX, first.clientY, false,
                      false, false, false, 0/*left*/, null);
  first.target.dispatchEvent(simulatedEvent); 
  event.preventDefault();
   }
Chamurappi
Profil
Reaguji na regvace:
To mi nepřipadá jako řešení, spíš problém obcházíš.

Zkoušel jsem pouze přidat pro všechny .onmouseup,.onmousemove,.onmousedown obdoby .touchend,.touchmove,.touchstart, ale nemá to žádný efekt.
Asi jsi ty dotykové události používal špatně. Věděl jsi, že souřadnice dotyku nejsou v event, ale v event.touches (nebo event.changedTouches)? Musíš s nimi tedy pracovat jinak než s myší…
regvac
Profil *
Chamurappi:
Bohužel se v tomto nevyznám. Nalezený script mi funguje a jsou-li v něm chyby, tak je nedokáži napravit. Pokud ty ano, tak prosím o konkrétní opravu.

Vaše odpověď

Mohlo by se hodit

Nezapomeňte na odkaz na živou ukázku problému.

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: