Y a-t-il quelque chose que je puisse obtenir JQuery pour effectuer une fonction lorsque vous faites glisser un article en dehors d'une DIVPPABLE DIV? p>
Disons que nous avons des objets druggitatifs ou triables dans un div et que vous le souhaitez supprimé si elles sont abandonnées en dehors de leur parent div. P>
Je sais qu'il y a l'événement "Out", mais cela fonctionne dès que vous faites glisser l'élément en dehors de la DIV, pas lorsque vous le déposez (Bouton de sortie de la souris). P>
3 Réponses :
Pourquoi ne pas enveloppé tous les éléments avec un autre dressable DIV, puis effectuez la vérification là-bas? P>
Qu'en est-il de si l'utilisateur l'a déposé à l'extérieur de la fenêtre du navigateur? Voulez-vous considérer cela aussi? P>
J'ai essayé de l'envelopper dans une autre goutte tombable, mais cela ne semble pas fonctionner correctement quoi qu'il arrive. L'événement dressé "fond" se déclenchera même si je dépose à l'intérieur du "premier plan" DIV où l'élément glacible était. Voir Stackoverflow.com/questions/1491742/... fondamentalement je «M toujours lutter contre le même problème, je viens de rentrer pour essayer de le réparer.
Si l'emballage ne fonctionnera pas pour que vous essayez d'empiler, mais vous devez définir le premier plan en tant que frère à l'arrière-plan, puis définissez l'index Z approprié, ou si non, vérifiez l'événement.Target sur le rappel DROP. Drop: Fonction ( e) {if (e.targe.id == bg_id) {...} else {...}}
Essayé ça, pas de chance. Il semble que la fonction de chute ne reconnaisse aucun autre identifiant cible d'événement autre que le goutte dressé lui-même. Au moins, lorsque j'essaie de vous connecter à la console, l'ID, seuls les enregistrements DLOPPable DIV, tout le reste ne produit rien. De même utiliser d'autre pour faire le tour de cela ne fonctionne pas - c'est soit faire quelque chose quand il est tombé sur le dressable DIV ou ne faites rien du tout. Malheureusement, cela ne fonctionne pas si l'arrière-plan div remplit toute la fenêtre, il ignore ce qui est sur le dessus de la div
a résolu cela dans une jolie «hacky»: fabriqua une table avec un contenu div au centre et fabriqua toutes les autres cellules de la table tombalisable. Cela signifie essentiellement que vous pouvez passer à l'extérieur du centre div sans problèmes, mais c'est encore loin d'être un bon moyen de le faire. P>
Si quelqu'un a une meilleure façon, dites-moi s'il vous plaît. P>
a finalement eu une solution appropriée à cela, même si c'est un peu "hacky" aussi. Ce que je fais est de définir le premier plan de premier plan avec les draggables comme dressable, mais utilisez les fonctions d'abaissement et de décrochage pour déterminer si l'élément est en dehors du premier plan DIV. Quand c'est à l'extérieur de la div, je lie l'événement de la machine à faire la fonctionnalité de goutte. Quand il est de retour dans j'enfense l'événement de la MouseUp afin que cela ne tire pas.
Parce que lorsque vous traînez, je tiens déjà le bouton de la souris, le libérant est le même que de laisser tomber ce que j'ai dans ma "main". p>
J'avais exactement ce problème, et c'était la meilleure solution que j'ai trouvée. Merci!