jQuery UI: Droppable (événement ‘drop’, tolérance: touch) dans un safari (mac)

Je ne suis pas capable de résoudre le problème suivant:

Le code ci-dessous fonctionne dans tous les navigateurs de mac ainsi que de Windows, sauf qu’il fonctionne partiellement avec macs safari (5.1.5) .

Note: Cela fonctionne sur windows safari (5.1.5).

C’est la structure de base :

entrez la description de l'image ici

$(".div2" ).droppable({ accept: '.div1', tolerance: 'touch', drop: function(){ alert('dropped'); } }); 

Donc, fondamentalement, lorsque div1 touche div2 , l’événement drop doit être déclenché.

entrez la description de l'image ici

Mais le cas ci-dessus ne déclenche pas l’événement drop.

Le seul cas (illustré ci-dessous) qui déclenche l’événement drop dans le safari de macs survient lorsque le div div1 glissable dépasse complètement le div div2 droppable . je ne sais juste pas pourquoi ??

entrez la description de l'image ici

Versions utilisées:

 jQuery: 1.7.2 jQuery UI: 1.8.18 Safari(mac): 5.1.5 

mettre à jour:

J’ai essayé d’autres options de tolérance. Le contact et l’ intersection ne fonctionnent pas comme vous le souhaitez. Mais ” pointeur ” fonctionne parfaitement.

Existe-t-il un autre moyen d’atteindre la fonctionnalité de «tolérance: toucher»? Je pense détecter une collision entre 2 divs, puis appliquer la logique correspondante.

Toute aide serait appréciée.

Merci!

Essayez d’append position: absolute !important; à l’élément. C’est la solution que j’ai trouvée à ce problème. Sinon, vous pouvez essayer de créer un div parent pour le div draggable / droppable.