2010-11-04 19 views
1

Bonjour J'écris un code jQuery pour mon application et j'ai des problèmes (comme la fonction appelée une fois, trois fois). Je dois savoir si existe un site qui code source de vérification des personnes et commenter mes erreurs ..Est-ce que quelqu'un connaît un site web d'audit de code source basé sur des personnes/forum/comunity pour JavaScript/jQuery?

la majeure partie de mon code est comme ça i/e:

$('a.openBox').click(function(){ 
    //do something 
    $('.box').show(); 
    $('a.openModal','.box').click(function(){ 
    $.openModal(some, parameters) 
    }); 
}); 

$.openModal = function(foo,bar){ 
    //do something 
    $('a.close').click(function(){ 
     $('#modal').hide(); 
    }); 
    $('input.text').click(function(){ 
     $.anotherFunction(); 
    }); 
}); 

ne suis-je fait quelque chose évidemment faux?

Répondre

2

Je ne connais aucun audit de code source comme celui-ci - certainement pas gratuitement! Ce site est plutôt bon pour des problèmes spécifiques ...

Dans ce cas, le problème est que vous liez de plus en plus d'événements. Par exemple, avec le code suivant:

$('a.openBox').click(function(){ 
    //do something 
    $('.box').show(); 
    $('a.openModal','.box').click(function(){ 
    $.openModal(some, parameters) 
    }); 
}); 

Ce code dit « chaque fois que l'utilisateur clique sur un élément a.openbox, afficher tous les éléments .box et lier un nouveau gestionnaire de clic à tous .box a.openModal éléments ». Cela signifie que vous allez ajouter un autre gestionnaire à .box a.openModal chaque fois que vous cliquez sur a.openbox. Je ne peux pas croire que c'est ce que tu veux faire!

Il est difficile de déterminer quel devrait être le bon code sans connaître le contexte et ce que vous voulez exactement. Mon conseil pour vous dans un premier temps serait de faire un peu de lecture sur les événements Javascript et les gestionnaires d'événements, en particulier car ils sont implémentés dans jQuery.

+0

oui, c'est ce que je veux, mais quand je clique sur un.openModal il exécute le contenu $ .openModal() trois fois ou plus ... – Rafalages