2009-05-23 4 views
1

J'ai réussi à été en mesure de faire des éléments (comme DIV, panneau de, peu importe) draggable en utilisant ce bit de Jquery:Le glisser-déposer de JQuery arrête de travailler sur certains objets?

<script type="text/javascript"> 
     $(function() { 
      $(".drag").draggable({ revert: true }); 
     }); 
</script> 

Cela fonctionne bien pour tout ce qui existe déjà sur la page avant page_load est fait et avant toute publication. J'ai une série de boutons (avec une classe de '.catbuttons') qui, lorsqu'on clique dessus, va appeler ma base de données et récupérer quelques URL d'image. Une fois que je récupère cet ensemble d'URL, je fais une boucle for/next et crée tout un tas d'objets image et les place dans un panneau. Chacune des images a la classe css de '.drag' pour le faire fonctionner avec le JQuery ci-dessus.

Problème, ils ne traînent plus! J'ai lu un autre article ici sur le besoin de relier des choses javascript après une publication (même une publication partielle?) Et cela permettrait de nouveaux contrôles pour obtenir le code Jquery ci-dessus attaché, et donc les rendre glisser. Après quelques recherches google, je suis tombé sur ceci et testé sur:

<script type="text/javascript"> 
     $(".catbuttons").live("click", function(){ 
      $(".drag").draggable({ revert: true }); 
     }); 
</script> 

J'ai essayé de quitter ce dans la section d'en-tête de ma page aspx avec le script original, et aussi avoir ce ici tout seul. Pas de dés de toute façon.

Pensées?

Répondre

0

La fonction ci-dessus attend un clic de la part de l'utilisateur pour l'appeler de nouveau. Au lieu de cela, vous devez le faire après la publication. Règle ici, devrait être, pour enregistrer toutes les images avec fonction de glisser, après avoir placé les images sur la page.

Edit: Dans votre cas cliquant sur le bouton déclenche simplement la fonction pour récupérer les images. Ces images doivent être placées sur la page, avant que vous ne les fassiez glisser. Vous pouvez enregistrer l'objet créé avec des draggables, immédiatement après les instructions où vous placez & appliquer ".drag" cssclass à ces objets/images à l'exécution.

+0

La fonction de clic réelle du bouton est ce qui génère les images pendant l'exécution - y a-t-il un autre endroit où je devrais avoir cela? Aucune des images n'existe jusqu'à ce que je clique sur un bouton, et j'applique la classe ".drag" cssclass à l'exécution à la volée aux objets créés. Est-ce que je vais à ce sujet dans le mauvais sens? –

+0

Rien à redire sur ce chemin. Voir l'édition. J'espère avoir bien compris votre explication. – simplyharsh