2010-10-26 6 views
0

j'ai un code jquery qui utilise le procédé direct d'événements déclencheurs:F est non défini - Jquery

$(document).ready(function() { 
    $('.cross-link').live(function() {  
    $('a[href=#2').click(); 
    }); 
}); 

Lorsque cross-link éléments peuvent être générées après le DOM est chargé.

Firebug signale que F is undefined. Il fait référence à la dernière ligne de mon fichier jquery.js qui commence par (function(){var Q=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]+['"]|[^[\]'"]+)... ect. J'ai lu qu'il se peut que ma bibliothèque Jquery soit obsolète. J'ai donc téléchargé la dernière version, mais elle a produit d'autres erreurs.

Que devrais-je rechercher pour résoudre ce problème?

+1

Les erreurs dans les bibliothèques sont généralement plus faciles à déboguer si vous utilisez le code non minimisé, plutôt que le minimisé. Il y a des réponses déjà postées, mais comme exercice, je vous recommande de remplacer jquery.min.js par jquery.js et de voir si le problème devient plus évident. –

+0

en utilisant jquery-1.4.3.js fait que mon navigateur (firefox, chrome, IE) ne répond plus. – scifirocket

Répondre

0

Live besoins même gestionnaire. Modifiez votre code comme ceci:

$(document).ready(function() { 
    $('.cross-link').live('click', function() { 
    $('a[href=#2').click(); 
    }); 
}); 
+0

qui s'occupe de ce problème, mais maintenant j'ai encore le problème de "trop ​​de récursivité". J'ai posé cette question ailleurs: http://stackoverflow.com/questions/4011916/too-much-recursion-error-in-jquery/4011989#4011989 – scifirocket

+0

@sci: C'est à cause de cette ligne '$ ('a [href = # 2 ']. click(); 'Vous devez le faire d'une autre manière ou trouver une alternative. – Sarfraz

0
$('a[href=#2').click(); }); }); 

Pouvez-vous vérifier la syntaxe est incorrecte ci-dessus, il y a une erreur dans votre code pourquoi jquery jette l'erreur

0

La syntaxe de $ ('a [href = # 2') cliquez sur();. doit être:

$ ('a [href = "# 2"]'). Click();