7
votes

La fonction druggrable de JQuery UI ne fonctionne pas

J'ai inclus la bibliothèque de JQuery, après la bibliothèque de l'interface utilisateur JQuery, et cela ne fonctionne toujours pas. J'utilise Google Chrome Browser.

code suit: xxx

Je ne trouve aucune solution nulle part. Le débogueur affirme que la méthode draguable n'existe pas. Mais j'ai ajouté JQuery et Jquery Ui, et les chemins sont corrects! Cela ne fonctionne pas.


2 commentaires

Le fichier JQuery Ui JS que vous utilisez, incluent-il le module draggible? Essayez de recréer votre fichier d'interface utilisateur JQuery sur leur site Web et assurez-vous que Draggable est inclus.


J'ai ouvert le fichier JQuery Ui JS et recherché GRAGGABLE et il existait, j'ai également ajouté UI-Draggable sur la case À propos de. Toujours rien


9 Réponses :


15
votes

Vous avez l'un de ces problèmes:

  1. Vos fichiers de chemin JQuery ou JQuery UI JavaScript sont faux
  2. Votre UI jQuery n'inclut pas Draggable
  3. Vos fichiers JQuery ou JQuery UI JavaScript sont corrompus
  4. Votre DIV est désintelle et vide, donc il n'y a rien à faire glisser
  5. Quelque chose est en train de colliser avec votre UI jQuery ou jQuery afin que cela ne fonctionne pas

    Votre code est correct et il devrait fonctionner:

    http://jsfiddle.net/u7zwa/


3 commentaires

D'accord, étrangement je l'ai eu pour travailler. Plutôt que d'ajouter les scripts via mon projet, a récupéré le code de " ajax.googleapis.com/ajax/libs/jQueryui/1.8/jquery-ui.min.js " et ça marche! Yaay! Mais maintenant, j'ai un autre problème, je peux faire glisser la div. Mais quand je libère le div, il revient à sa position d'origine: s


Draggable ({REVERT: FAUX}) , si ma réponse vous a aidé s'il vous plaît upvote et accepter :)


6. Vous vous chargez du script UI avant JQuery



4
votes

Essayez ceci:

<script src="js/jquery-1.6.2.min.js" type="text/javascript"></script>
<script src="js/jquery-ui-1.8.16.custom.min.js" type="type/javascript"></script>
<script src="js/ui/jquery.ui.draggable.js" type="type/javascript"></script>
<script type="text/javascript">
    $(function() {
        $( ".drag" ).draggable();
    });
</script>

<div id="aboutBox" class="boxLook boxBg drag"></div>


1 commentaires

Il est probablement inclus dans JS / JQuery-UI-1.8.16.Custom.min.js . "Personnalisé" est le suffixe utilisé pour désigner des constructions personnalisées de la bibliothèque d'interface utilisateur JQuery.



0
votes

Vérifiez si votre objet draggible est déjà chargé dans la fenêtre. Si ce n'est pas le cas, cela ne fonctionnera pas correctement.

Mon conseil est d'ajouter ce code xxx

juste après que l'objet glagible soit absolument sûr que tout est chargé à l'heure correcte.

Lorsque vous serez sûr que tout va bien, vous pourrez alors refacteur.


0 commentaires

1
votes

Mon problème était que j'avais un autre événement destiné à Mousemove qui contenait un E.StopPropagation (); qui empêchait le code de la souris . de travail. < Pré> xxx

La solution consistait à supprimer le e.stoppropagation (); et réévaluer sa mise en œuvre.


3 commentaires

Sortie de la console: "Company TypeError: impossible de lire la propriété" stoppropagation "de non définie". Pourriez-vous s'il vous plaît signifier une raison?


Vérifiez que vous passez E à travers l'arbre de fonction


Merci mec. J'ai passé 6 bonnes heures à essayer de comprendre ce qui n'allait pas. Il y avait une divergence entre deux fichiers .js que j'ai chargés dans la même vue.



1
votes

Je l'ai corrigé en définissant la position de la boîte de dialogue comme fixe. Cela a fonctionné comme une magie, après des heures de stress: xxx


0 commentaires

0
votes

Une autre raison potentielle est que vous avez désactivé tous les événements de traînée d'ailleurs dans votre code, en utilisant quelque chose comme ceci:

window.ondragstart = function () { return false; };


0 commentaires

1
votes

Dans mon cas, j'utilisais une version plus ancienne de JQuery UI. J'ai remplacé l'ancienne référence avec les éléments suivants et tout a commencé à travailler comme prévu. XXX


0 commentaires

0
votes

J'ai eu le même problème et j'ai résolu mon problème avec Mettre à jour le fichier JQuery UI STRY>.

<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.js" type="text/javascript"></script>


0 commentaires

0
votes

J'ai eu un autre fichier dans le codeBase à l'aide de draggable code> et je voulais simplement réutiliser le nom de la classe.

cela est corrigé pour moi: strong> j'ai renommé le CSS classe à différer du précédent. p>


Mise en œuvre précédente: strong> p> xxx pré>

Nouvelle mise en œuvre: strong> p> xxx pré>


facultatif: strong> Vous voudrez peut-être ajouter cette ligne de code avant de mettre en œuvre Draggable P>

$(".the_new_css_class_name").unbind("droppable");


0 commentaires