Non, il est impossible de préserver draggability lorsque vous remplacez/supprimer des éléments dans les DOM, à moins que vous modifier le noyau jquery (que je ne recommande pas.)
Si vous faites replaceWith()
et remove()
pour les éléments DOM, cela signifie qu'ils sont détruits et que tous les comportements ou événements qui leur sont associés sont également détruits.
Essayez de créer un <div>
externe qui contient le comportement draggable et au lieu de remplacer le code HTML dans le div
lorsque vous voulez changer l'élément draggable à goutte, etc.
Alternativement (et moins élégant), vous pouvez appeler à nouveau draggable()
sur vos éléments après votre faire replaceWith()
pour restaurer le comportement que vous avez supprimé avec replaceWith()
.
De même, au lieu de remove()
, essayez hide()
de faire simplement disparaître les éléments pendant un certain temps tout en conservant leur comportement.
En bref: Vous abordez le problème de manière incorrecte. Changez votre approche.
S'il vous plaît montrer le code – TheVillageIdiot