Depuis quelque temps je me suis mis à la librairie Jquery, qui est très pratique et utile, mais j'ai un sujet ou j'ai du mal a comprendre, je m'explique:
On parle souvent de la fonction ready qui permet d'exécuter du code quand le "DOM is ready", en clair quand la page à fini de charger, jusque la pas de problème.
Mais j'ai lu sur plusieurs documentation que le fait d'utiliser le "$" pour une fonction, par ex :
$(function(){ alert('toto');});
en dehors de la méthode ready (sans l'utiliser), charge la fonction quand le "DOM is ready" aussi.
Pourtant certaine de mes fonctions ne marche que en les mettant dans la méthode ready et d'autre marche avec ou sans, alors je ne comprend pas trop comment savoir quel fonctions doivent être placer a l'intérieur ou en dehors de la méthode ready ?
De plus j'ai entendu dire que la méthode ready était particulièrement gourmande, donc moins j'aurais de contenue dedans, mieux ça sera.
Parce que les gestionnaires (ou écouteurs) d'événements doivent être dans le ready pour que ça fonctionne.
Les autres codes par exemple alert(); fonctionnent dans le ready ou en dehors.
Pour comprendre l'utilité d'une fonction anonyme il faut d'abord comprendre celle d'une fonction.
Tu fais une fonction si son code à l'intérieur peut-être appelé plusieurs fois, ou par pure organisation.
Si tu as un code qui est exécuté dans tous les cas une seule fois, alors autant utiliser une fonction anonyme.
Exemple, il est préférable de faire :
$('#test').click(function() {
alert('ok');
});
Plutôt que :
$('#test').click(afficherAlert());
function afficherAlert() {
alert('ok');
}
Non, dans son explication soit tu fait une fonction anonyme qui contient ton alert comme le 1er cas car il y a que le onclick d'un seul bouton qu'il l'appel.
Soit plusieurs click ou plusieurs actions on besoin de faire alert('toto') auquel cas autant définir une fonction nommé pour que tous appel cette fonction, car dans ce cas en général on souhaite que toutes les actions fasse la même chose, donc si tu remplace toto par tata, comme tous appel la même fonction ton seul changement fera que tous afficheront tata.
L'important de sa remarque c'est pas que le alert est appelé une fois c'est que c'est le seul élément('test') qui va faire le alert!
Le message qui suit est une réponse automatique activée par un membre de l'équipe de modération. Les réponses automatiques leur permettent d'éviter d'avoir à répéter de nombreuses fois la même chose, ce qui leur fait gagner du temps et leur permet de s'occuper des sujets qui méritent plus d'attention. Nous sommes néanmoins ouverts et si vous avez une question ou une remarque, n'hésitez pas à contacter la personne en question par Message Privé. Pour plus d'informations, nous vous invitons à lire les règles générales du forum
Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.
Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre. En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.
Au lieu de déterrer un sujet il est préférable :
soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
soit de créer un nouveau sujet décrivant votre propre contexte
ne pas répondre à un déterrage et le signaler à la modération
Pas d'aide concernant le code par MP, le forum est là pour ça :)
Pas d'aide concernant le code par MP, le forum est là pour ça :)