9
votes

JQuery Ui Droppable TypeError non capturé

Avoir du mal à déboguer celui-ci.

Utilisation de JQQuery UI Dressable dans une application de colonne vertébrale à l'aide de CoffeScript.

Il n'y a rien de mal à la fonctionnalité, tout fonctionne comme je l'ai entendu, mais Je reçois toujours cette erreur de console chaque fois qu'un élément est supprimé. xxx

code pour la récupération: xxx

J'ai dit que la fonctionnalité fonctionne correctement, je voudrais simplement me débarrasser de l'erreur si quelqu'un sait tout ce que je pouvais essayer de déboguer.

trace de pile xxx p> Merci pour toute aide.


3 commentaires

La trace de la pile de l'erreur vous donne-t-elle un indice?


Rien d'utile pour moi. Je l'ai ajouté à la question.


Ressemble à un problème de jQuery alors. Jetez un coup d'oeil à ce forum.jquery.com/topic/...


6 Réponses :


1
votes

@Dira a pointé sur un fil avec un problème entourant le même code dans l'interface utilisateur JQuery, mais la solution qui n'a pas fonctionné pour moi.

J'ai fini par commenter le code dans la source de l'interface utilisateur JQuery et l'erreur est allé loin.

comme avant, tout fonctionne toujours comme souhaité.

Le bloc que j'ai commenté: xxx

}); / p>


0 commentaires

2
votes

Je suis tombé sur la même erreur et je pense, de mes tests qu'il arrive lorsque vous détachez ou supprimez l'élément abandonné sur l'événement DROP. Lorsque vous utilisez l'élément d'origine comme aide.

Je cherche toujours un meilleur moyen de détacher et de réinsérer l'élément traîné dans le DOM


0 commentaires

8
votes

Cela semble être lié à la destruction de l'élément abandonné pendant l'événement DROP. J'ai pu contourner la question en retardant l'appel de destruction: xxx


1 commentaires

Où devrais-je devoir écrire cela? J'ai la même erreur à laquelle vous avez répondu. J'ai élu votre réponse car il semble également résoudre ma question.



5
votes

Pour moi, aucune des solutions proposées n'a fonctionné. Comme vous l'avez déjà mentionné, cela est dû à l'élimination de l'élément avant la fin des finitions. Ma solution très facile à ce que cela ne soit pas à Supprimer () L'élément, mais uniquement Détacher () L'élément et l'ajoutez ailleurs.

Donc pour moi déplacé de: xxx

qui m'a donné l'exception des options à: xxx

comme le Documentation de JQuery's Documentation State Cela fonctionne parce qu'il" ... conserve toutes les données jQuery associées aux éléments supprimés. "

Si détachez et appendez une option pour vous, il me semble être une solution très propre.


5 commentaires

Merci mec, m'a aidé. En cas de répétition (1000 fois), détachez (), cela cause une fuite de mémoire?


Détacher uniquement "DISTRAIND" L'élément du DOM, de sorte que cela ne crée pas de nouveaux objets. L'empreinte mémoire devrait rester à peu près la même. Bien que, si vous n'avez vraiment pas besoin des éléments, je les supprimerais certainement complètement plus tard. Peut-être un Settimeout (..., 1000) qui les supprime après un retard, fonctionne pour vous.


J'ai entendu dire que settimeout (..., 0) provoque la fonction de fonction de manière asynchrone, puis-je l'utiliser ici ou je dois utiliser une certaine quantité de temps (comme ce que vous avez dit)?


Je n'irais pas avec 0 ms mais une valeur beaucoup plus élevée. Vous devrez déterminer lequel est toujours acceptable pour votre application et la déclencher sur la goutte.


Merci de conseils, m'a beaucoup aidé



1
votes

Mon approche de résolution Il s'agit d'utiliser l'événement STOP de draggable.

Lorsqu'un élément est déposé et prêt à être supprimé, tirez un événement à la vue des feuilles de déplacement pour définir @isremove = true. La vue draggible devrait avoir quelque chose comme celui-ci dans l'événement d'arrêt: xxx


0 commentaires

2
votes

Cela semble être enfin fixé correctement au V1.11.0, sans toutes les solutions de contournement proposées ici:

http://bugs.jqueryui.com/ticket/6889

Il semble que l'élimination de l'élément de dragage original désormais n'entraînera pas cette erreur car les propriétés sont maintenant stockées sur le champ . J'ai confirmé que le V1.11.0 corrige cette erreur exacte qui a apparu sur V1.10.4.


0 commentaires