web-dev-qa-db-fra.com

onclick ou onClick?

Je pensais que la liaison de l'événement click en javascript se faisait en utilisant node.onclick, et Chrome/Firefox semblent d'accord avec moi, mais je l'ai vu écrit .onClickici 4 fois par 3 personnes, donc ça ne peut pas être une faute de frappe et je doute que ce soit une coïncidence.

Alors, pourquoi les gens écrivent onClick alors que cela ne fonctionne pas?

[~ # ~] mise à jour [~ # ~] : Il y a deux bonnes explications; Je ne sais pas lequel est le plus plausible, donc j'accepterai la réponse basée sur le vote populaire, demain.

43
Gabi Purcaru

Parce que certains navigateurs (selon le DOCTYPE) sont tolérants à l'attribut inline onClick="something();" ... il semble s'être répandu un peu, même dans les questions JavaScript où cela ne fonctionne pas, car la casse compte.

De plus, spécifiquement pour stackoverflow ... les gens l'utilisant dans les questions ... eh bien, la plupart du temps, ils ne poseraient pas de question si leur code fonctionnait :)

27
Nick Craver

@ Nick Craver l'a à peu près cloué et a mon vote; Je voulais juste ajouter ma pensée.

Je pense que c'est onClick est souvent utilisé dans la conversation parce qu'il est un peu plus lisible et comme une vieille habitude de ceux d'entre nous qui sont antérieurs à tout HTML minuscule. Cependant, dans le code - à la fois JavaScript et HTML, onclick est correct et la seule façon dont il devrait apparaître. Même si vous utilisez un doctype HTML plus ancien, respectez les minuscules. Si vous mettez à jour vers un doctype plus strict, vous serez heureux que votre code n'ait pas besoin d'être vérifié pour la casse.

14
Surreal Dreams

C'est juste que pour la plupart des navigateurs, les attributs HTML ne sont pas sensibles à la casse, mais JS est sensible à la casse. onClick fonctionnera en html, mais si vous définissez le gestionnaire dans JS, vous devez utiliser le onclick en minuscule.

7
Gopherkhan

Dans cette question spécifique, j'ai utilisé "onClick" comme la question d'origine l'avait dans cette veine et j'essaie de modifier le moins possible le code OP pour faire une solution, afin qu'ils puissent voir facilement leur erreur.

Le cas de chameau est invalide techniquement, bien que j'aime le cas de chameau en général. Franchement, ça m'ennuie toujours quand je vois cette méthode, car je pense "Où est jQuery!".

C'est très répandu dans le monde, je le vois tout le temps à la source.

J'ai modifié ma réponse sur la question référencée pour l'adapter, merci de l'avoir indiquée.

1
Orbling