2010-09-02 12 views

Répondre

0

Check out « draggable » et « largable » de jQuery UI: http://jqueryui.com/demos/draggable/http://jqueryui.com/demos/droppable/

+0

je dois manipuler le DOM en ajoutant un div avec du texte dynamique à l'aide de test() et je ne peux pas voir comment mettre en œuvre cela en utilisant jqueryUI? – significance

+0

Si vous utilisez la droppable draggable de jQuery UI, il y a un événement appelé 'drop' qui se déclenche après que #drag_object soit tombé dans #drag_over. Cet événement peut facilement appeler votre fonction. Votre code pourrait ressembler à ceci: \t $ ("# drag_object"). Draggable(); . \t $ ("# largable") largable ({ \t \t goutte: test(); \t \t}); source: http: //jqueryui.com/demos/droppable/#event-drop – lnrbob

+0

ah oui - sauf en utilisant 'over'! Merci. Si vous voulez mettre cela dans une réponse je vais le marquer comme correct. merci :) – significance

0

Vous pouvez le faire en utilisant le jQuery UI's Droppable et Draggable

Qu'est-ce que vous voulez est d'ajouter le Droppable's Over event qui peut être fait soit de cette façon :

$(".selector").droppable({ 
    over: function(event, ui) { ... } 
}); 

ou de cette façon:

$(".selector").bind("dropover", function(event, ui) { 
... 
}); 

Je préfère utiliser la première méthode mais c'est à vous sauf. Ainsi, par votre exemple

<meta charset="UTF-8" />  
    <style type="text/css"> 
    #drag_object{ width: 100px; height: 100px; padding: 0.5em; float: left; margin: 10px 10px 10px 0; } 
    #drag_over{ width: 150px; height: 150px; padding: 0.5em; float: left; margin: 10px; } 
    </style> 
    <script type="text/javascript"> 
    $(function() { 
     $("#drag_object").draggable(); 
     $("#drag_over").droppable({ 
      over: function(event, ui) { alert('You dragged me over'); } 
     }); 

    }); 
    </script> 


<div class="demo"> 

<div id="drag_object" class="ui-widget-content"> 
    <p>Drag me to my target</p> 
</div> 

<div id="drag_over" class="ui-widget-header"> 
    <p>Drop here</p> 
</div> 

</div><!-- End demo --> 

Vous pouvez vérifier cela: http://jsfiddle.net/TYrT8/