Uncaught TypeError: $(...).déplaçable n'est pas une fonction [dupliquer]

cette question a déjà une réponse ici:

bonjour à tous, je suis en train de faire quelques divs déplaçable et j'ai réussi à le faire avec jquery-ui. j'ai aussi un script qui supprime 2 divs et les combine dans un une seule (comme si elles ont été fusionnées ensemble) mais quand j'appelle la fonction draggable sur le nouveau div "fusionné" je reçois l'erreur est le titre... quel est donc le problème ? comment est-il possible que .déplaçable fonction de travail un endroit et pas à un autre (sur le même fichier)!!

c'est la fonction traînante:

function drag($class){
$("."+$class).draggable({
containment: ".tab-content",
grid: [ 3, 3 ],
zIndex:100,
obstacle: "#nothere",
preventCollision: true,
drag:
function(){
    $(".test").css("background-color","red");
    $(this).css("background-color","green");
    }

});
} 

d'abord, je l'ai appelée pour la classe de test qui fonctionne parfaitement sans erreur

drag("test");

mais quand je appeler un autre temps à l'intérieur de la fonction de fusion retourner l'erreur: Uncaught TypeError: $(...).déplaçable n'est pas une fonction

drag("test:not(.ui-draggable)");

le fichier js est chargé correctement:

<script type="text/javascript" src="js/jquery-2.1.4.min.js"></script>
<script type="text/javascript" src="js/jquery-ui.min.js"></script>
4
demandé sur zouzou b lebiane 2015-08-26 09:34:23

2 réponses

assurez-vous d'inclure dans votre projet ces fichiers:

  <link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
  <script src="//code.jquery.com/jquery-1.10.2.js"></script>
  <script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>

cochez leur exemple . Utilisez les outils de développement (F12 sous Chrome) pour voir si toutes les ressources ont été importées.

3
répondu Beri 2015-08-26 06:38:00

je sais que c'est une vieille question mais puisque j'avais le même problème et ne pouvais pas trouver la réponse...

j'ai fait inclure tous les bons scripts, j'ai vérifié que les liens étaient valides, etc et ça ne marchait toujours pas.

j'ai ensuite déplacé les références de script pour être directement au-dessus du code qui appelle .déplaçable.. il fonctionne parfaitement.

<link rel="stylesheet" href="https://code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.min.css"/>
        <script type="text/javascript" src="https://code.jquery.com/jquery-1.12.4.min.js" />
        <script type="text/javascript" src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js" />

        <script type="text/javascript">
            $(function () {
                $(".regionStyle li").draggable();
                $(".regionStyle").droppable({
                    drop: function (event, ui) {
                        $(this)
                        .addClass("ui-state-highlight")
                        .find("p")
                        .html("Item Dropped!");
                    }
                });
            });
0
répondu Gary 2016-10-20 13:29:22