70 votes

Erreur jQuery UI - f.getClientRects n'est pas une fonction

J'essaie de faire fonctionner jQuery UI, mais ça ne marche pas. Voici ce qui se passe.

Je charge les dépendances :

<script src="assets/src/js/angular/angular.js"></script>
<script src="assets/src/js/angular-animate/angular-animate.js"></script>
<script src="assets/src/js/angular-route/angular-route.js"></script>
<script src="assets/src/js/jquery/dist/jquery.js"></script>
<script src="assets/src/js/jquery-ui/jquery-ui.js"></script>
<script src="assets/src/js/app.js"></script>
<script src="assets/src/js/main.js"></script>

C'est mon main.js fichier :

$(function () {
    $("input[type=submit]")
        .button()
        .click(function (event) {
            event.preventDefault();
        });
});

$(function () {
    $("#circum").buttonset();
});

$(function () {
    $("#dialog-message").dialog({
        modal: true,
        buttons: {
            Ok: function () {
                $(this).dialog("close");
            }
        }
    });
});

Lorsque j'exécute le code dans Brackets, jQuery UI est chargé mais ne fonctionne pas, cependant, lorsque je commente mon main.js C'est l'erreur que j'obtiens dans la console et l'interface utilisateur fonctionne soudainement. C'est extrêmement bizarre.

jQuery.Deferred exception: elem.getClientRects is not a function TypeError: elem.getClientRects is not a function
at jQuery.offset (http://127.0.0.1:27530/assets/src/js/jquery/dist/jquery.js:9779:14)
at Object.getWithinInfo (http://127.0.0.1:27530/assets/src/js/jquery-ui/jquery-ui.js:1157:26)
at jQuery.$.fn.position (http://127.0.0.1:27530/assets/src/js/jquery-ui/jquery-ui.js:1179:23)
at _position (http://127.0.0.1:27530/assets/src/js/jquery-ui/jquery-ui.js:8709:17)
at ._position (http://127.0.0.1:27530/assets/src/js/jquery-ui/jquery-ui.js:415:25)
at open (http://127.0.0.1:27530/assets/src/js/jquery-ui/jquery-ui.js:8334:8)
at .open (http://127.0.0.1:27530/assets/src/js/jquery-ui/jquery-ui.js:415:25)
at _init (http://127.0.0.1:27530/assets/src/js/jquery-ui/jquery-ui.js:8210:9)
at ._init (http://127.0.0.1:27530/assets/src/js/jquery-ui/jquery-ui.js:415:25)
at _createWidget (http://127.0.0.1:27530/assets/src/js/jquery-ui/jquery-ui.js:587:8) undefined

J'ai trouvé ce fil de discussion sur le problème, mais je n'ai toujours pas réussi à le résoudre.

Github

A la vôtre.

1 votes

Je pense qu'il pourrait s'agir d'un problème avec Angular, puisque tout fonctionne bien sur un nouveau document sans lui, mais je n'ai aucune idée de la nature de l'erreur.

1 votes

Pouvez-vous s'il vous plaît partager le html ? ou s'il vous plaît créer un jsfiddle

1 votes

Mettez jQuery et jQuery UI avant angular dans votre liste de script s.

2voto

Zaeem Shamsi Points 11

J'ai eu le même problème avec jquery-3.0.0. J'ai juste inclus la référence jquery-migrate.3.0.0 après la référence jquery. Le problème est résolu et il fonctionne bien maintenant.

0voto

Slawa Points 137
> npm remove jqueryui
> npm i -S jquery-ui-dist

Ceci téléchargera une version de JQuery UI qui peut être incluse directement dans le système de gestion de l'information. <script> tags.

0 votes

Ceci est uniquement pour .NET. Il faut le spécifier.

-1voto

TNG.Dei Points 1

J'ai eu le même problème lorsque j'ai essayé d'obtenir la position X et Y de la souris en utilisant " .pageX/.pageY " sur un événement de clic.

Essayez de changer la source des bibliothèques afin d'obtenir la dernière mise à jour de celles-ci, en vous assurant qu'elles sont compatibles.

Ces liens fonctionnent maintenant et ils pourraient résoudre les problèmes.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X