J'utilise jQuery drag and drop bibliothèque, mais il fonctionne bien dans les navigateurs Web, mais ne fonctionne pas au toucher mobile. Voici mon html et javascript ..jQuery glisser et déposer ne fonctionne pas avec le toucher mobile
P.S. Je veux cette valeur pour que je puisse gérer plusieurs boîtes avec des attributs différents, c'est pourquoi je l'ai appelé la fonction de vol stationnaire,
<!-- html -->
<div>
<ul class="draggable">
<li class="dragme">one</li>
<li class="dragme">two</li>
<li class="dragme">three</li>
<li class="dragme">four</li>
<li class="dragme">five</li>
<li class="dragme">six</li>
</ul>
</div>
<!-- style -->
ul.draggable {list-style: none; }
ul.draggable li {display: block; width: 100px; height: 40px; background-color: #000; color: #fff; margin-top: 20px; text-align: center;}
<!-- javascript -->
function drags() {
jQuery('.dragme').hover(function() {
var dragContent = jQuery(this);
jQuery(dragContent).draggable({revert: true});
});
}
jQuery(document).ready(function(){
drags();
});
J'ai également ajouté cette fonction (ci-dessous) pour permettre toucher à mobile, il fonctionnait bien, mais d'abord, maintenant sa ne fonctionne pas ... je l'avais trouvé ici dans stackoverflow
<!-- touch functions -->
function touchHandler(event) {
var touch = event.changedTouches[0];
var simulatedEvent = document.createEvent("MouseEvent");
simulatedEvent.initMouseEvent({
touchstart: "mousedown",
touchmove: "mousemove",
touchend: "mouseup"
}[event.type], true, true, window, 1,
touch.screenX, touch.screenY,
touch.clientX, touch.clientY, false,
false, false, false, 0, null);
touch.target.dispatchEvent(simulatedEvent);
event.preventDefault();
}
function init() {
document.addEventListener("touchstart", touchHandler, true);
document.addEventListener("touchmove", touchHandler, true);
document.addEventListener("touchend", touchHandler, true);
document.addEventListener("touchcancel", touchHandler, true);
}
// -- call **init()** in document.ready function
S'il vous plaît aider avec vos réponses
Merci
Cela fonctionne parfaitement, mais comment puis-je obtenir les informations sur l'élément lorsqu'il a été supprimé, car peut en copier le texte et le mettre dans un élément glissé. –
Cela va maintenant loin de votre question initiale. Voici plus d'informations pour faire des choses lorsque l'utilisateur laisse tomber l'assistant. https://api.jqueryui.com/draggable/#event-stop . Aussi, jetez un oeil ici .. http://jsfiddle.net/3vx3bdf9/1 J'ai ajouté le rappel d'arrêt, l'objet ui contient beaucoup de choses utiles, vous pouvez toujours obtenir l'élément glissé avec ui.helper – Bruffstar
Pour Drop zones etc ... vous devez utiliser droppable .. Il ya quelques belles démos ici ... https://jqueryui.com/droppable/ – Bruffstar