jQuery trascinabili + ordinabile: strano compensati del mouse comportamento
-
12-09-2019 - |
Domanda
Ho lista trascinabili di elementi
- . Se mi trascina la prima
- del
- tutto originale trascinabili funziona bene ...
- elemento di questa lista l' 'aiutante' si allontana dal puntatore del mouse non appena io attraverso il confine del recieving ordinabile
- . Più precicely si muove fino alla cima alla lista.
Qualcuno ha visto questo e sa una soluzione? Beh, il mio problema è, sto solo usando jQuery, non proprio profondamente in essa e mai realmente utilizzato javascript in modo approfondito sia.
Maggiori informazioni sul problema:
Il mio codice jQuery:
$(document).ready(function() { $('#roleList > li').draggable({ connectToSortable: '#roleDrop', containment: '#container', revert: 'invalid' }); $('#roleDrop').sortable({ cursor: 'move', containment: '#container', revert: true, update: function() { var order = $('#roleDrop').sortable('serialize'); $.ajax({ type: 'POST', url: '".$postUrl."', dataType: 'html', data: order }); } }); $('#roleList').disableSelection(); });
Mentre #roleList e #roleDrop sono le suddette liste non ordinate, #container è una tabella.
Ora uno screenshot di ciò che accade.
mi metto a trascinare l'elemento:
Quando attraverso il confine del secondo
- l'assistente salta su.
Se è necessario il codice XHTML troppo, la prego di dirmi.
Problema:
... ma quando ho trascinare qualsiasi altro
- elemento di questa lista l' 'aiutante' si allontana dal puntatore del mouse non appena io attraverso il confine del recieving ordinabile
Soluzione
Prova ad aggiungere helper: 'clone'
alle opzioni .draggable
:
$('#roleList > li').draggable({
helper: 'clone',
connectToSortable: '#roleDrop',
containment: '#container',
revert: 'invalid'
});
jQuery documentazione , è necessario impostare questa opzione quando si collega un trascinabili ad un ordinabile.
Anche se questo produce un'esperienza diversa interfaccia (elementi trascinati vengono clonati invece di spostato), è almeno una soluzione temporanea per quello che implica la documentazione è un problema noto. la gestione degli eventi aggiuntivi potrebbe pulire l'elemento originale di #roleList
durante il callback aggiornamento #roleDrop
.