Ajout d’un délai à un événement droppable

J’ai un élément largable avec un gestionnaire d’événement de basculement. En faisant glisser un élément sur la liste de repository, vous développez un nœud. Cependant, je souhaite append un délai afin que le nœud ne se développe pas immédiatement, c’est-à-dire que vous devez maintenir le contenu glissable au-dessus de la liste de repository pendant une seconde avant de le développer.

droppable.over = function(event, ui) { // expand node if dragover lasts 1000 milliseconds node.expand(); }; 

Ma première idée a été d’utiliser simplement setTimeout sur node.expand() , mais cela ne fait pas ce que je veux, cela retarde simplement le développement du nœud. Il ne semble pas y avoir de configuration que je puisse définir pour atteindre cet objective, alors je me demande comment je peux le faire.

Quelque chose comme ça peut-être?

 var globalTimer; //.. droppable.over = function(event, ui) { globalTimer = setTimeout(function(){node.expand()}, 1000); }, droppable.out = function(event, ui) { clearTimeout(globalTimer); }; 

essayez d’append ce setTimeout(function () { node.expand() }, 1000);

mais je vous ai peut-être mal compris. Voulez-vous que le nœud apparaisse plus tard ou n’apparaisse que s’il rest dans la liste de calcul pendant 1000 ms?