2010-12-17 2 views
1

Quand je charge ma page qui utilise jquery, je reçois l'erreur suivante:erreur jquery au démarrage

Uncaught TypeError: Cannot call method 'call' of undefined 
jQuery.jQuery.fn.jQuery.ready test.html:282 
(anonymous function) test.html:15 
jQuery.jQuery.extend.ready 

Ceci est traqué à

ready: function(fn) { 
    // Attach the listeners 
    jQuery.bindReady(); 

    // If the DOM is already ready 
    if (jQuery.isReady) { 
     // Execute the function immediately 
     fn.call(document, jQuery); 
        ^^^^^^^^^^^^ 

    // Otherwise, remember the function for later 
    } else if (readyList) { 
     // Add the function to the wait list 
     readyList.push(fn); 
    } 

fn ci-dessus est non définie ... Il Il n'y a pas d'autre symptôme que je puisse voir qui me pointe vers le problème. Je référence une copie locale de jquery.js.

<script src="js/jquery-1.4.4.js" type="text/javascript"></script> 

En utilisant Google cdn ne permet pas non plus .. ne peux pas imaginer que je suis la première personne frapper ce ...

Toute personne avec des pointeurs pour aider un débutant?

merci à l'avance, Jas

+0

Publiez le code source de votre page html, y compris tous les scripts que vous exécutez. Utilisez-vous une autre bibliothèque JS en plus de jQuery? –

+0

où et comment vous définissez la fonction fn passée comme fn? – Javi

Répondre

1

qu'est-ce que vous essayez d'initialiser? généralement tout ce qui doit être fait sur une page prêt est fait comme:

$(document).ready(function(){ 
    //your JS calls, functions, bindings, and whatever 


}); 
+0

C'était ça ... J'avais une mauvaise syntaxe ... J'avais: – jas

+0

$ (document) .ready (init()); – jas

2

On dirait ready lui-même est appelé sans argument (ou celui qui est undefined).

+0

Merci pour les conseils très rapides et utiles. Donc, j'ai compris où est le problème. Je ne sais toujours pas pourquoi cela se passe ... la situation est la suivante: – jas

1

Je suppose que vous avez du code quelque part dans votre page équivalente à:

$(document).ready(undefined); 

Vous devez passer une référence de fonction à la méthode prête(), comme indiqué dans la réponse de FatherStorm. Si vous transmettez un nom de fonction, assurez-vous que la fonction est disponible dans la portée que vous appelez ready(). Si vous définissez la fonction en ligne, vérifiez qu'il n'y a pas de problèmes de syntaxe ou d'autres erreurs sur la page.

0

Récemment je reçois l'erreur:

Uncaught TypeError: Cannot call method 'call' of undefined 

Dans mon cas, je l'ai enlevé un de mes validateur personnalisé jQuery.validator.addMethod(), Mais j'ai oublié de le retirer de règles.

$("##frmCreate").validate({ 
    rules: { 
     zip: {required: true, maxlength: 6, postalcode:true}, 

Dans le cas ci-dessus, le code postal était mon validateur personnalisé.

Espérons qu'il peut aider les autres ..

Questions connexes